読者です 読者をやめる 読者になる 読者になる

メッセージ送ってボタンを操作する

ボタンをプログラムからクリックするには BM_CLICK を使います
これをボタンに送れば、ボタンは WM_LBUTTONDOWN と
WM_LBUTTONUP メッセージを受け取ります

BM_CLICK のパラメータは両方とも 0 です
また、このメッセージに戻り値はありません

また、プッシュボタンが押された時の強調表示をシュミレーションする場合
BM_SETSTATE メッセージを使います

#include <windows.h>

HWND button;

LRESULT CALLBACK WndProc(HWND hwnd , UINT msg , WPARAM wp , LPARAM lp) {
	switch (msg) {
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	case WM_COMMAND:
		MessageBox(hwnd , TEXT("Kitty on you lap") , TEXT("") , MB_OK);
		return 0;
	case WM_RBUTTONDOWN:
		SendMessage(button , BM_CLICK , 0 , 0);
		return 0;
	case WM_KEYDOWN:
		SendMessage(button , BM_SETSTATE , TRUE , 0);
		return 0;
	case WM_KEYUP:
		SendMessage(button , BM_SETSTATE , FALSE , 0);
		return 0;
	}
	return DefWindowProc(hwnd , msg , wp , lp);
}


ネタ元