よくある質問

FAQ

テキストボックスに入力された文字列の横幅を取得する方法を教えてください。

テキストボックスに入力された文字列の横幅を取得する方法を下記に記載いたします。

■C++言語用サンプルコード
#include "TCHAR.H"
GCWDC *pDC;                /*描画コンテキスト*/
GCTextBox *pText;            /*テキストボックスオブジェクト*/
HGDRAW hDraw;                /*描画ハンドル*/
unsigned short usFontID;    /*フォントID*/
GSimpleFont *pFont;        /*簡易フォントポインタ*/
HGFONT hFont;                /*フォントハンドル*/
GTCHAR szFontName[33];        /*フォント名格納用変数*/
GTCHAR szText[128];        /*文字列格納用変数*/
unsigned long ulWidth;        /*文字幅*/
    
pText = (GCTextBox*)GetChild( GTEXTBOX00000 );        /*テキストボックスオブジェクト取得*/
pDC = (GCWDC*)GCWGetScreen()->GetWDC();            /*描画コンテキスト取得*/

hDraw = pDC->GetHGDRAW();                            /*描画ハンドルの取得*/

usFontID = pText->GetFontID();                        /*フォントリソースID 取得*/

pFont = GRCLoadFont( usFontID );                    /*簡易フォントポインタ取得*/


/*簡易フォント構造体内のフォント名をコピー*/

_tcscpy_s(szFontName,sizeof(szFontName),pFont->szFontName);    


hFont = GFLoadFont( szFontName );                    /*指定フォントのロード*/


GFSetSize(hFont,pFont->ucSize,pFont->ucSize);        /*テキストボックスに設定されていたフォントのサイズをhFontに設定*/


pText->GetString( szText , sizeof( szText ) );        /*テキストボックスの表示文字列取得*/

ulWidth = GDGetStringWidth( hDraw, szText );        /*文字幅取得*/

採用情報

Recruit

アイ・エル・シーでは一緒に働くメンバーを
随時募集しております。