Главная страница
    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.008 c
14-97792
Кен
2003-06-09 02:11
2003.06.30
Как получить инфразвук в домашних условиях. Хочу послушать его.


14-97780
Juster~
2003-06-10 22:22
2003.06.30
Ф-ции, классы,...


14-97804
StarCon
2003-06-10 12:47
2003.06.30
а не пора ли перейти на Delphi 7


14-97787
Silentium!
2003-06-13 11:49
2003.06.30
ШАГ в for


1-97745
VladP
2003-06-14 23:06
2003.06.30
гладкое соединение точек





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