Почему не обрабатывается сообщение ? С++ Builder

gera3323
Дата: 28.09.2014 12:13:58
class PACKAGE TSkyButton : public TCustomButton
{

__published:

protected:

private:

	 void __fastcall OnDrawItem(  TWMDrawItem  Message )
	 {
		 MessageBox( NULL, NULL, NULL, NULL );
	 }

public:
	 BEGIN_MESSAGE_MAP
		VCL_MESSAGE_HANDLER( WM_DRAWITEM, TWMDrawItem , OnDrawItem);
	 END_MESSAGE_MAP(TCustomButton);

	__fastcall TSkyButton(TComponent* Owner);
};
//extern TSkyButton * SkyButton;
//---------------------------------------------------------------------------
#endif
Dimitry Sibiryakov
Дата: 28.09.2014 12:23:15

Очевидно потому, что "The WM_DRAWITEM message is sent to the owner window of an
owner-drawn button, combo box, list box, or menu when a visual aspect of the button, combo
box, list box, or menu has changed".

Posted via ActualForum NNTP Server 1.5

gera3323
Дата: 28.09.2014 12:25:15
Dimitry Sibiryakov,

а как сделать чтобы работало?
Dimitry Sibiryakov
Дата: 28.09.2014 12:28:10

gera3323
а как сделать чтобы работало?

Разве перенос обработчика в оконную процедуру "the parent window" не самоочевидное решение?..

Posted via ActualForum NNTP Server 1.5

gera3323
Дата: 28.09.2014 12:30:48
Dimitry Sibiryakov,

а пример кода ?
gera3323
Дата: 28.09.2014 12:36:30
Dimitry Sibiryakov,

сделал. я вот так сделал void WndProc( HWND, UINT, WPARAM, LPARAM ) оно не работало. потом так сделал void WndProc( TMessage& Message )