上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ピクチャーコントロールのサイズを640*480にしようと思ってリソースを編集したんだけど、
実行すると、書いた数値の1.5倍くらい大きくなってる!なんでや!
調べてみるとダイアログの座標系はピクセルじゃなくて
ダイアログで使われているフォントのサイズを基準に変動するらしい


解決策
ダイアログを生成した後、SetWindowPosで座標を変える!

↓こんな感じ

コールバック関数(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND hItem = NULL;
switch ( message )
{
case WM_INITDIALOG: //ダイアログが作成された
{
//枠のサイズ
int smx = GetSystemMetrics(SM_CXFIXEDFRAME)*2;
//枠とタイトルバーのサイズ
int smy = GetSystemMetrics(SM_CYFIXEDFRAME)*2+GetSystemMetrics(SM_CYSMCAPTION);
//ウインドウ
SetWindowPos(m_hDlg, NULL, 0, 0, 800+smx, 600+smy, (SWP_NOZORDER|SWP_NOOWNERZORDER));
//ピクチャーコントロール
hItem = GetDlgItem(m_hDlg, IDC_PICTURE);
SetWindowPos(hItem, NULL, 0, 0, 640, 480, (SWP_NOZORDER|SWP_NOOWNERZORDER));
//略
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://perillasoft.blog75.fc2.com/tb.php/7-99867288
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。