INTERNATIONAL LABORATORY CORPORATION


サポート > GENWARE3 サポート > 技術情報(よくあるご質問と回答) >

テキストボックスに入力された文字列の横幅の取得について

組込みGUI統合開発環境 GENWARE3(ジェンウェアスリー) サポート

技術情報(よくあるご質問と回答)

ご質問

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

回答

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

■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 );        /*文字幅取得*/

対象製品バージョン:Ver.2.01.005

管理番号:FG_G10120

資料更新日: 2009年2月26日

※この資料は、資料更新日現在のものです。


ページTOPへ

ILC商品一覧