ダイアログで簡単なチャットを作っています。
クラス化の段階で機能は問題ありませんが、レイアウトがめちゃくちゃになっています...。
ソースコードを乗せますので何が問題かあるか添削お願いします。
// main
INT WINAPI WinMain( HINSTANCE instHndl, HINSTANCE /* prevInst */, LPTSTR /* cmdLine */, INT /* cmdShow */ )
{
ADialog dialog;
dialog.Create( instHndl, IDD_DIALOG_CLIENT );
return 1;
}
// ADialog.h
class ADialog
{
public:
ADialog();
~ADialog();
static BOOL CALLBACK DialogMapProcedure( HWND wndHndl, UINT msg, WPARAM wParam, LPARAM lParam );
BOOL Create( HINSTANCE instHndl, LONG dialogId );
private:
static ADialog *m_dialog;
BOOL DialogProcedure( HWND wndHndl, UINT msg, WPARAM wParam, LPARAM lParam );
};
// ADialog.cpp
ADialog *ADialog::m_dialog = NULL;
BOOL ADialog::DialogProcedure( HWND wndHndl, UINT msg, WPARAM wParam, LPARAM lParam )
{
switch( msg )
{
case WM_INITDIALOG:
return FALSE;
case WM_COMMAND:
switch ( LOWORD( wParam ) )
{
case IDOK:
EndDialog( wndHndl, IDOK );
return FALSE;
case IDCANCEL:
EndDialog( wndHndl, IDCANCEL );
return FALSE;
case IDC_BUTTON_END:
EndDialog( wndHndl, IDC_BUTTON_END );
return FALSE;
default:
return FALSE;
} // end of switch
default:
return FALSE;
} // end of switch
return TRUE;
}
BOOL CALLBACK ADialog::DialogMapProcedure( HWND wndHndl, UINT msg, WPARAM wParam, LPARAM lParam )
{
if( msg == WM_INITDIALOG )
{
SetWindowLong( wndHndl, GWL_USERDATA, (LONG)m_dialog );
m_dialog = NULL;
} // end of if
ADialog* wnd = ( ADialog* )::GetWindowLong( wndHndl, GWL_USERDATA );
if( wnd == NULL )
{
return FALSE;
} // end of if
wnd->DialogProcedure( wndHndl, msg, wParam, lParam );
return TRUE;
}
BOOL ADialog::Create( HINSTANCE instHndl, LONG dialogId )
{
m_dialog = this;
DialogBox( instHndl,
MAKEINTRESOURCE( dialogId ),
NULL,
DialogMapProcedure);
return TRUE;
}
Dialogのクラス化
ページ移動
- 掲示板
- ↳ C言語何でも質問掲示板
- ↳ 四聖龍神録2 掲示板
- ↳ 四聖龍神録Plus掲示板
- ↳ AerobeatPlus掲示板
- 副次コンテンツ
- ↳ 作品お披露目掲示板
- 登録ユーザー用コンテンツ
- ↳ 登録ユーザー掲示板
- コミュニティフォーラム
- ↳ みんなでソースコードをレビューしよう
- ↳ 3DCGソフト使用者のコミュ
- ↳ Win32 API
- ↳ 組み込み系スクリプト言語をつかってみよう
- ↳ 東方好きあつまれ
- ↳ C言語誰でも交流サイト - mixC++ -
- ↳ ビット論理演算が好きな人♪
- ↳ 企画関係について語ろうか
- ↳ エフェクトアニメーション
- ↳ 学生で集まってみる?
- ↳ DirectX SDK
- ↳ マイコン/FPGA電子工作部
- ↳ PHPに可能性を無限大
- ↳ Code Golf を楽しもう!
- ↳ 作曲している人で話し合ってみませんか♪
- ↳ ソフト制作コミュ
- ↳ El Shaddai - エルシャダイ -
- ↳ PSPプログラミング
- ↳ CINEMA 4D
- ↳ お絵かきコミュニティ
- ↳ 素材作ってみたよ!
- ↳ OpenGL
- ↳ OpenCV
- ↳ RPGを作りたい!
- ↳ ポケモン好き集まれ
- ↳ ならば .NETをやらないか?
- ↳ 1から勉強してみないか?
- ↳ 赤髪超大好き♪
- ↳ ノースリーブ
- ↳ 伝説の戦士プリキュアを語ろう
- ↳ コンテストコミュニティー
- ↳ DXライブラリ何でも質問コミュニティ
- ↳ 四聖龍神録コミュニティ
- ↳ HTML/CSS/JavaScript
- ↳ 生放送コミュ
- ↳ サンプルを共有するコミュニティ
- ↳ おすすめマーカー
- ↳ minecraft
- ↳ Xtal Language
- ↳ マインクラフト
- ↳ 数学やらないか?
- ↳ 習ったことをプログラムで表してみよう!
- ↳ 小物アプリ作成や ら な い か
- ↳ AIの可能性は無限大
- ↳ 自作OS製作(GUI入門)[雑談]
- ↳ リレーコーディング
- ↳ Unix/Linux
- ↳ 競技プログラミングごっこやろうぜ
- ↳ 夏休みプログラミングイベント2012 in MixC++
- ↳ D言語を広めよう
- ↳ Scala布教の会
- ↳ 3Dゲーム作ろうぜ!モデリング~プログラミングまで
- ↳ 言語に興味を持ったら是非!!
- ↳ レイヴンズ・ネスト
- ↳ C言語とC++言語のコミュニティー!
- ↳ 放課後ふぁんたじあ
- ↳ マイ サンプルズ
- ↳ ガンヲタの館
- ↳ 歯科機器
- ↳ 歯科機器情報
- ↳ 52歳からはじめるC言語
- mixC++更新・仕様変更履歴