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

Вниз

Scrollbar, или спасите люди добрые   Найти похожие ветки 

 
Diamond Cat   (2003-03-09 03:56) [0]

Никак не могу прокрутить скрол бар, вернее установить позицию бегунка легко но никак не могу обработать нажатие на него, не приходят сообщения типа sbm_... не пойму что не так вот кусок кода

procedure button(hwnd:Thandle);
var
si:tagSCROLLINFO;
begin
buttonup:=CreateWindow("SCROLLBAR","",
SBS_HORZ or ws_visible or ws_child,
60,40,90,7,hwnd,0,hinstance,nil);
si.cbSize:=sizeof(tagSCROLLINFO);
si.fMask:=SIF_ALL;
si.nPage:=1;
si.nMin:=0;
si.nMax:=50;
si.nPos:=25;
si.nTrackPos:=10;
// SetScrollInfo(buttonup,SB_CTL,si,true);
sendmessage(buttonup,sbm_setscrollinfo,1,integer(@si));
таким манером можно установить позицию, но через WinProc это сообщение не проходит т.е. оно вроде и недолжно проходить т.к. отправлено самому скролу. к тому же при нажатии на скрол его позиция не меняется
Короче какое сообщение должна получать моя оконная процедура?

end;

procedure WinMain;
var
hWnd: THandle;
Msg: TMsg;
WndClassEx: TWndClassEx;
begin
WndClassEx.cbSize := sizeOf (TWndClassEx);
WndClassEx.lpszClassName := "Asmenu";
WndClassEx.style := cs_VRedraw or cs_HRedraw or CS_PARENTDC;
WndClassEx.hInstance := HInstance;
WndClassEx.lpfnWndProc := @WinProc;
WndClassEx.cbClsExtra := 0;
WndClassEx.cbWndExtra := 0;
WndClassEx.hIcon := LoadIcon (hInstance, MakeIntResource ("MAINICON"));
WndClassEx.hIconSm := 0;
WndClassEx.hCursor := LoadCursor (0, IDC_ARROW);
WndClassEx.hbrBackground := HBRUSH(CreatePatternBrush(LoadBitmap(HInstance,"bitmap1")));
WndClassEx.lpszMenuName :="Auto_scroll";
if RegisterClassEx (WndClassEx) = 0 then begin
MessageBox (0," ","Asmenu", mb_ok + MB_ICONERROR);
halt;
end
else
begin
hWnd := CreateWindowEx ( WS_EX_TOOLWINDOW,WndClassEx.lpszClassName,"Asmenu",WS_POPUP,0,0, 200,110, 0, 0, HInstance, nil);
setwindowpos(hwnd,HWND_TOPMOST,strtoint(paramstr(1)),strtoint(paramstr(2)),159,130,swp_showwindow);
button(hwnd);
while GetMessage (Msg, 0, 0, 0) do
begin
TranslateMessage (Msg);
DispatchMessage (Msg);
end;
end;
end;


 
}{enon   (2003-03-09 20:59) [1]

Тут МА-А-АЛЕНЬКАЯ проблема: если бегунок - это окно, то скроллбар может вообще за него не отвечать, а если рисунок - то ты вряд-ли что-то поймаешь.


 
Diamond Cat   (2003-03-09 23:53) [2]

да причем тут рисунок или окно, вопрос в том что моя оконная процедура не получает никаких сообщений от скрола, или получает но я не знаю какие, но все sbm_... сообщения через оконную функцию обработки сообщений не проходят, сообщения wm_hscroll & wm_vscroll тоже не проходят, единственное сообщение которое удалось получить и идентифицировать это WM_CTLCOLORScrollbar, но оно несет минимум полезной информации может что не так при создании скролбара может какой флаг надо добавить? если у кого есть кусочек кода скинте


 
Diamond Cat   (2003-03-10 01:04) [3]

Простите, все нормально заработало, просто не правильная обработка wm_hscroll была отсюда все беды
Всем Спасибо, все свободны :)


 
UserMicc   (2003-04-28 17:15) [4]

Ups



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

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

Наверх




Память: 0.45 MB
Время: 0.007 c
11-97560
SPeller
2002-10-08 01:14
2003.06.30
KOL & MCK 1.53 !


1-97683
Aiax
2003-06-17 16:25
2003.06.30
Генерация CRC кода из символов и цифр


4-97938
Anet
2003-04-28 10:31
2003.06.30
Получение списка параметров динамически загружаемой функции


1-97705
MakNik
2003-06-18 10:27
2003.06.30
SaveDialog


14-97824
BaRToV
2003-06-02 02:43
2003.06.30
HTML Help WorkShop 4.74





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский