コントロール

ボタンは、MyControl クラスで作れるようになりました。 しかし、さらに継承します。

MyButton クラス

MyCreateStructクラスを継承して、MyControlクラスを作りました。 さらに、MyControlクラスを継承して、MyButtonクラスを作ります。

新しくファイルを作らないで、"MyControl.h" の中に書きます。

#ifndef	___MYCONTROL
#define	___MYCONTROL

/*
	コントロール
*/


class MyControl : public MyCreateStruct{
public:
	// コンストラクタ
	MyControl(LPCTSTR className) : MyCreateStruct(className){
		style = WS_CHILD | WS_VISIBLE;
		hwndParent = hWnd;
		Location(0, 0);
		Size(100, 100);
	}
	// メソッド
	void ID(int id){
		hMenu = (HMENU)id;
	}
};


//===============================================
//	部品A
//===============================================

// ボタン------------------------------
class MyButton : public MyControl{
public:
	MyButton() : MyControl(TEXT("BUTTON")){
		style = style | BS_DEFPUSHBUTTON;
	}
};


#endif

解説

特に、解説はありません。

使用例(win635)

//
//	MyApp.h
//

#include	<MyControl.h>
#include	<MyMessageBox.h>


#define	ID_BUTTON		1000 	// ボタンID

class MyApp : public MyMainWnd{
public:
	// WM_CREATE
	void wmCreate(){
		
		MyButton btn;
		
		btn.Text(TEXT("ボタン"));
		btn.ID(ID_BUTTON);
		
		CreateWindowEx(btn);
	}
	// WM_COMMAND
	void wmCommand(WPARAM wp){
		int wmId = LOWORD(wp);
		
		switch(wmId){
		case ID_BUTTON:				// ボタンID
			MyMessageBox(TEXT("ボタンが押されました!") , TEXT("確認"));
			break;
		}
	}	
};

実行画面です。

解説

特に、解説はありません。


[前] [目次] [次]