IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Компонент C++Builder6 (http://www.imho.ws/showthread.php?t=88462)

toxa21 03.07.2005 02:15

Компонент C++Builder6
 
Короче, мне нужен компонент типа TPanel но чтобы у него было бы метод OnPaint. Не подскажете как отследить событие WM_PAINT у панели. Да и еще обязательно должно быть свойство Handle.
Заранее спасибо.

dyr_farot 04.07.2005 12:24

зачем компонент? создай наследника от TPanel и в его Paint рисуй

/7y3uK 04.07.2005 13:03

Хэндл и так есть у любого визуального элемента... берется с помощью WinAPI

toxa21 14.07.2005 14:19

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?

dyr_farot 15.07.2005 12:20

ничего не понял... что значит рисуется? и почему бы ей не рисоваться?
а события эти у TPanel есть...
разве что Paint так:
virtual void __fastcall Paint(void);
объяви...

toxa21 15.07.2005 12:54

Сорри за непонятку. Рисуется - значит рисуется стандартным обработчиком (ну там с бордюром со всей шнягой). А мне надо бало полность перекрыть ету процедуру. С virtual пробовал. Так как всетаки Наследнику TCustomControl определить реакцию на события mousedown, move, up?

dyr_farot 15.07.2005 13:00

скорее всего придется WindowProc перегружать


Часовой пояс GMT +4, время: 03:56.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.