Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
vov1   (2001-11-24 10:59) [0]

как в WinApi создавать ToolBar


 
absent   (2001-11-24 16:59) [1]

Можно так:
hToolBar:= CreateWindowEx(0, TOOLBARCLASSNAME, nil,
WS_CHILD or
WS_VISIBLE or
TBSTYLE_TOOLTIPS or
CCS_ADJUSTABLE or
TBSTYLE_FLAT or
CCS_TOP,
0, 0, 0, 0,
hMainWnd,
0, hInstance, nil);
Расположится в самом верху формы. Как добавить на него кнопки и т.д. - написано в win32.hlp (с примерами)


 
vov1   (2001-11-25 20:12) [2]

спасибо, а по поводу кнопок, примерчик можешь скинуть?
А то что-то не получается...


 
absent   (2001-11-26 08:17) [3]

ей богу, проще хелп почитать...
кусок из моей программы:

const
id_Cut = 1;
id_Copy = 2;
id_Paste = 3;
id_Undo = 4;
id_Redo = 5;
id_Delete = 6;
id_New = 7;
id_Open = 8;
id_Save = 9;
id_View = 10;
id_Char = 11;
id_Find = 13;
id_Replace = 14;
id_Print = 15;

id_Play = 16;
id_PlayBuf = 17;
id_Stop = 18;
id_Win = 19;
id_Dos = 20;
id_Koi = 21;
id_Options = 22;
id_Background = 23;
id_Help = 24;
id_About = 25;
id_FindNext = 26;
id_SaveAs = 27;
id_ShowWindow = 28;
id_WordWrap = 29;
id_Exit = 30;
id_Justify = 31;
id_Center = 32;
id_Left = 33;
id_Right = 34;
id_Record = 35;

DefaultBar: packed array[1..26] of byte=(
id_New, id_Open, id_Save, id_SaveAs, 0,
id_Cut, id_Copy, id_Paste, 0,
id_Undo, id_Redo, 0,
id_Find, id_FindNext, id_Replace, 0,
id_Win, id_Dos, id_Koi, 0,
id_WordWrap, 0,
id_Play, id_PlayBuf, id_Stop, id_Record);

function CreateToolBar: boolean;
var
TBA: TTBADDBITMAP;
TBB: TTBButton;
i: integer;
begin
result:= false;
hToolBar:= CreateWindowEx(0, TOOLBARCLASSNAME, nil,
WS_CHILD or
WS_VISIBLE or
TBSTYLE_TOOLTIPS or
CCS_ADJUSTABLE or
TBSTYLE_FLAT or
CCS_TOP,
0, 0, 0, 0,
hMainWnd,
0, hInstance, nil);
if hToolBar <> 0 then
begin
result:= true;
hOldToolProc:= SetWindowLong(hToolBar, gwl_wndproc, Integer(@hToolProc));
SendMessage(hToolBar, TB_BUTTONSTRUCTSIZE, sizeof(TTBBUTTON), 0);
// берем стандартные картинки + картинки из ресурса (1)
TBA.hInst:= THandle(-1);
TBA.nID:= ord(false);
SendMessage(hToolBar, TB_ADDBITMAP, 15, longint(@TBA));
hToolBmp:= LoadImage(hInst, PChar(1), IMAGE_BITMAP, 0, 0,
LR_LOADMAP3DCOLORS or
LR_LOADTRANSPARENT or
LR_DEFAULTSIZE);
TBA.hInst:= 0;
TBA.nID:= hToolBmp;
SendMessage(hToolBar, TB_ADDBITMAP, 15, longint(@TBA));
if SendMessage(hToolBar, TB_BUTTONCOUNT, 0, 0) = 0 then
begin
TBB.fsState:= TBSTATE_ENABLED;
TBB.dwData:= 0;
TBB.bReserved[1]:= 0;
TBB.bReserved[2]:= 0;
TBB.iString:= 0;
for i:=1 to length(DefaultBar) do
begin
if DefaultBar[i] <> 0 then
begin
tbb.idCommand:= DefaultBar[i];
tbb.iBitmap:= tbb.idCommand - 1;
tbb.fsStyle:= TBSTYLE_BUTTON
end
else
begin
tbb.idCommand:= 0;
tbb.iBitmap:= 0;
tbb.fsStyle:= TBSTYLE_SEP;
end;
SendMessage(hToolBar, tb_addbuttons, 1, lParam(@TBB));
end;
end;
end;
end;

если что-то тут поймешь - буду рад :)



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

Форум: "WinAPI";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.004 c
4-90437
LLL
2001-11-24 14:01
2002.01.28
модальное окно, которое при этом не является диалоговым


1-90275
Mr. API
2001-12-27 19:31
2002.01.28
работа с архивами


3-90220
vic910
2001-12-07 01:11
2002.01.28
одновременная запись в Paradox несколькими клиентами


1-90292
Phobos
2002-01-10 23:01
2002.01.28
Как сделать в ListBox каждый item своего цвета?


3-90203
Andrey196
2001-12-23 19:49
2002.01.28
Помогите!!! :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский