Главная страница
    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.005 c
14-90362
Дремучий
2001-12-03 23:44
2002.01.28
Китайские сервера!


1-90286
Ig
2002-01-08 22:43
2002.01.28
Внешние компоненты в 1С


1-90259
SergeyNew
2002-01-07 11:12
2002.01.28
Две колонки в ListBox


14-90350
Orest
2001-12-01 21:52
2002.01.28
ICQ 2001b


4-90424
Shmel
2001-11-29 02:01
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский