2007-03-13(Tue)
エディットボックスでフォント変更
エディットボックスのフォント変更ではまったのでメモ。
適用する作成したCFontはローカルではだめらしい。
ローカル変数で設定したら、中途半端な適応のような意味不明の症状に悩まされた。
にほんブログ村
適用する作成したCFontはローカルではだめらしい。
ローカル変数で設定したら、中途半端な適応のような意味不明の症状に悩まされた。
// BUTTON1が押されたときのハンドラ
void ChogehogeDlg::OnBnClickedButton1()
{
CString buf,buf2;
WORD data;
#if 0
CFont fomt;
#endif
// エディットボックスのポインタを取得する。
CEdit* pedit = (CEdit*)GetDlgItem(IDC_EDIT1);
#if 0
font.CreatePointFont(80,_T("MS ゴシック"),pedit->GetDC());
// 作成したフォントを設定する。
pedit->SetFont(&font,1);
#else
// ローカル変数ではなくメンバ変数としてCFontを作らないといけない。
m_font.CreatePointFont(80,_T("MS ゴシック"),pedit->GetDC());
// 作成したフォントを設定する。
pedit->SetFont(&m_font,1);
#endif
buf.Format(_T(" 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F\r\n"));
for(unsigned char i = 0;i < 16;i++) {
for(unsigned char j = 0;j < 16;j++) {
if(j == 0) {
buf2.Format(_T("0x%02x"),i);
buf += buf2;
}
data = ~(((i << 4) & 0xF0) | (j & 0x0F));
buf2.Format(_T(" %04x"),data);
buf += buf2;
if(j == 15) {
buf2.Format(_T("\r\n"));
buf += buf2;
}
}
}
pedit->SetWindowText(buf);
}
にほんブログ村