Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

StatusBar и ToolBar на API   Найти похожие ветки 

 
Velocity   (2002-03-16 16:40) [0]

Огромное спасибо всем кто на мои тупые вопросы отвечает. Как видно мир не без добрых людей... Помогите с сабжем, подробные комментарии не обязательны, заранее спасибо !!!


 
Song ©   (2002-03-16 17:00) [1]

А в чём именно Вам помочь с этими компонентами?


 
Velocity   (2002-03-16 17:05) [2]

Ну... Как их на апи запрограммить


 
Dick ©   (2002-03-16 21:00) [3]

Возьми, да посмотри исходники.


 
VuDZ ©   (2002-03-17 07:01) [4]

это обчыное окно со стилями WS_CHILD и WS_VISIBLE. Имя класса - "msctls_statusbar32".
Может иметь стиль CBRS_BOTTOM который равен
CBRS_ALIGN_BOTTOM(0x8000L) and CBRS_BORDER_TOP(0x0200L)

Но, по-моему, эти стили только для MFC, так как определено только у него. Хотя ЧЕЗ.


 
Evgeny ©   (2002-03-19 06:23) [5]

Можно и через подключаемый RES файл:
CONTROL "", ID_SBAR, "msctls_statusbar32", 3, 0, 188, 184, 12, WS_EX_DLGMODALFRAMEс ToolBar`ом чуть-чуть сложнее:

{ В ресурсном файле: иконка и 2 образа для кнопки }
program TBar;

uses
Windows, Messages, ShellAPI, CommCtrl;

const
szAppName = "Flat Button";

var
Wnd : HWND;
Msg : TMsg;
WndClass : TWndClassEX;
hTBar : HWND;
hImList : HWND;
btnTBar : TTBButton;


{$R TBar.res}

//---------------------------------------------------------

procedure CreateToolBarButton(Wnd : HWND);
var
tbab : TBADDBITMAP;
begin
hTBar := CreateWindowEx(0, "ToolBarWindow32", NIL,
CCS_NOPARENTALIGN or CCS_NORESIZE or
TBSTYLE_TOOLTIPS or WS_CHILD or WS_VISIBLE or
TBSTYLE_FLAT or CCS_NODIVIDER,
130, 100, 28, 28,
Wnd, 3000, hInstance, NIL);
SendMessage(hTBar, TB_BUTTONSTRUCTSIZE, SizeOf(TTBBUTTON), 0);
SendMessage(hTBar, TB_SETBITMAPSIZE, 0, MAKELONG(20, 20));
tbab.hInst := hInstance;
tbab.nID := 4020; // моно картинка
SendMessage(hTBar, TB_ADDBITMAP, 1, Integer(@tbab));
// цветная картинка
hImList := ImageList_LoadBitmap(hInstance, MAKEINTRESOURCE(4025), 20, 1, $C0C0C0);
SendMessage(hTBar, TB_SETHOTIMAGELIST, 0, hImList);

with btnTBar do
begin
iBitmap := 0;
idCommand := 3010;
fsState := TBSTATE_ENABLED;
fsStyle := TBSTYLE_BUTTON;
dwData := 0;
iString := 0;
end;
SendMessage(hTBar, TB_ADDBUTTONS, 1, Integer(@btnTBar));
end;

//---------------------------------------------------------

function CallBackProc(Wnd: THandle; iMsg: Integer;
wParam, lParam: Longint): Integer; stdcall; export;
begin
CallBackProc := 0;
case iMsg of
WM_CREATE : CreateToolBarButton(Wnd);

WM_NOTIFY :
begin
if PToolTipText(lParam).hdr.code = TTN_NEEDTEXT then
case PToolTipText(lParam).hdr.idFrom of
3010 : PToolTipText(lParam).lpszText := "ToolBar Flat Button";
end;
end;

WM_COMMAND :
begin
case LOWORD(wParam) of
3010 : SendMessage(Wnd, WM_CLOSE, 0, 0);
end;
end;

WM_DESTROY :
begin
PostQuitMessage(0);
Exit;
end;
end;
CallBackProc := DefWindowProc(Wnd, iMsg, wParam, lParam);
end;

//---------------------------------------------------------

begin
WndClass.cbSize := SizeOf(WndClass);
WndClass.style := CS_HREDRAW or CS_VREDRAW;
WndClass.lpfnWndProc := @CallBackProc;
WndClass.cbClsExtra := 0;
WndClass.cbWndExtra := 0;
WndClass.hInstance := hInstance;
WndClass.hIcon := LoadIcon(hInstance, MAKEINTRESOURCE(4010));
WndClass.hCursor := LoadCursor(0, IDC_ARROW);
WndClass.hbrBackGround := GetStockObject(LTGRAY_BRUSH);
WndClass.lpszMenuName := "";
WndClass.lpszClassName := szAppName;
WndClass.hIconSm := LoadImage(hInstance, MAKEINTRESOURCE(4010),
IMAGE_ICON, 16, 16, 0);

if RegisterClassEx(WndClass) = 0 then
Exit;

Wnd := CreateWindowEx(0, szAppName, szAppName,
WS_OVERLAPPEDWINDOW,
0, 0, 300, 200,
0, 0,
hInstance, NIL);

InitCommonControls;
ShowWindow(Wnd, CmdShow);

while(GetMessage(msg, 0, 0, 0)) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
end.



Страницы: 1 вся ветка

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
14-64820
vopros
2002-04-11 17:14
2002.05.20
vopros ты меня достал уже.


1-64604
hoaxer
2002-05-06 16:58
2002.05.20
TGA с альфа каналом


1-64582
kingdom
2002-05-07 13:29
2002.05.20
Как пользоваться TService ?


4-64874
GreySerg
2002-03-18 17:49
2002.05.20
Что-то вроде Ini-файла


4-64889
o_viz2000
2002-03-16 21:43
2002.05.20
MAIL SLOTS