Главная страница
    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.76 MB
Время: 2.188 c
1-90254
GhostK
2002-01-09 07:43
2002.01.28
Компонент...


3-90237
Д_Россиев
2001-12-23 10:25
2002.01.28
Подключение TDataSource к Access-Application


1-90313
NLO
2002-01-11 07:10
2002.01.28
AutoCAD


7-90402
Ketmar
2001-10-14 14:10
2002.01.28
как заменить своим или отрубить окошко менеджера задач (ctrl+alt+del) в Win98?


4-90434
a-leksey
2001-11-26 11:39
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский