![]() |
Компонент C++Builder6
Короче, мне нужен компонент типа TPanel но чтобы у него было бы метод OnPaint. Не подскажете как отследить событие WM_PAINT у панели. Да и еще обязательно должно быть свойство Handle.
Заранее спасибо. |
зачем компонент? создай наследника от TPanel и в его Paint рисуй
|
Хэндл и так есть у любого визуального элемента... берется с помощью WinAPI
|
class TMyPanel : public TPanel
{ public: __fastcall TMyPanel(TComponent* Owner); void __fastcall Paint(void); }; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Panel = new TMyPanel(this); } __fastcall TMyPanel::TMyPanel(TComponent* Owner):TPanel(Owner) { Parent = (TWinControl*)Owner; } void __fastcall TMyPanel::Paint(void) { // hhgfjhgjhgfjhgfjhgf } так чтоли? Но в таком случае панель все равно рисуется. Я конечно сделал наследника от TCustomControl. А как определить для него события mousedown, move, up? |
ничего не понял... что значит рисуется? и почему бы ей не рисоваться?
а события эти у TPanel есть... разве что Paint так: virtual void __fastcall Paint(void); объяви... |
Сорри за непонятку. Рисуется - значит рисуется стандартным обработчиком (ну там с бордюром со всей шнягой). А мне надо бало полность перекрыть ету процедуру. С virtual пробовал. Так как всетаки Наследнику TCustomControl определить реакцию на события mousedown, move, up?
|
скорее всего придется WindowProc перегружать
|
| Часовой пояс GMT +4, время: 03:56. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.