Custom Hint Window Example (C++Builder)
This example demonstrates how you can implement a custom hint window to display a bitmap with a hint text. Note that this type of window is displayed if the bar manager’s UseBarHintWindow property is True.
Project.cpp
#include <vcl.h>
#pragma hdrstop
USERES("Project.res");
USEFORM("Unit1.cpp", Form1);
#include "Unit1.h"
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
dxBarHintWindowClass = __classid(TMyHint);
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
// C++Builder
Unit1.h
// ...
class TMyHint : public TdxBarHintWindow
{
private:
Graphics::TBitmap * FBitmap;
protected:
void __fastcall Paint(void);
public:
__fastcall TMyHint(TComponent * AOwner);
__fastcall ~TMyHint(void);
};
// C++Builder
Unit1.cpp
// ...
__fastcall TMyHint::TMyHint(TComponent * AOwner) : TdxBarHintWindow(AOwner)
{
FBitmap = new Graphics::TBitmap;
FBitmap->LoadFromFile("...");
}
__fastcall TMyHint::~TMyHint(void)
{
delete FBitmap;
}
void __fastcall TMyHint::Paint(void)
{
RECT R;
R = ClientRect;
DrawEdge(Canvas->Handle, &R, BDR_RAISEDOUTER, BF_RECT);
Canvas->Draw(2 , (int)((Height - FBitmap->Height) / 2), FBitmap);
Canvas->TextOut(FBitmap->Width + 2 , (int)((Height - Canvas->TextHeight(Caption))/2), Caption);
}
See Also