[ BinaryRuler @ 24.06.2006. 15:02 ] @
Kako mogu na jednu formu da postavim jedan scrollbar za scrollovanje de memo kontrole? Pokusavao sam na sve moguce nacine ali nisam imao uspeha. |
[ BinaryRuler @ 24.06.2006. 15:02 ] @
[ savkic @ 24.06.2006. 19:13 ] @
> Kako mogu na jednu formu da postavim jedan scrollbar za scrollovanje de memo kontrole? Pokusavao sam na sve moguce nacine ali nisam imao uspeha.
Možeš poslati tim kontrolama EM_LINESCROLL poruku, npr. SendMessage(Memo1.Handle, EM_LINESCROLL, 0, 1); [ BinaryRuler @ 24.06.2006. 20:52 ] @
Hvala savkicu, ali pomoglo bi mi ako bi mi dao malo detaljniji promer.
Da li tu poriku saljem sa kontrole scrollbar-a sa dogadjaja Onscroll ili nekako drugacije? [ savkic @ 24.06.2006. 23:07 ] @
> Da li tu poriku saljem sa kontrole scrollbar-a sa dogadjaja Onscroll ili nekako drugacije?
Šalješ kada treba da skroluješ sadržaj memo kontrola, to može biti OnScroll događaj TScrollBoxa ili nešto drugo to već zavisi od programa. A za primer započni novi projekat, stavi jedan memo i dugme na formu, napuni memo sa 50 linija teksta a u OnClick događaj dugmeta ubaci onaj kod iz prve poruke. [ BinaryRuler @ 25.06.2006. 18:36 ] @
E Savkicu esto sam uspeo da sklepam na Dogadjju Onscroll stavio sam ovaj kod ali imam problem kod prevlacenja scroll valjka vidi kod pa ce ti biti jasno o cemu pricam.
Code: begin if ScrollCode=scLineDown then begin SendMessage(Memo1.Handle, EM_LINESCROLL, 0, 1); SendMessage(Memo2.Handle, EM_LINESCROLL, 0, 1); end; if ScrollCode=scLineup then begin SendMessage(Memo1.Handle, EM_LINESCROLL, 0, -1); SendMessage(Memo2.Handle, EM_LINESCROLL, 0, -1); end; if ScrollCode=scTrack then begin if OVDE NEZNAM KOJI USLOV DA STAVIM DA BI MOGAO DA ODREDIM DA LI DA IDE GORE ILI DOLE KAD VUCES VALJAK then begin SendMessage(Memo1.Handle, EM_LINESCROLL, 0, 1); SendMessage(Memo2.Handle, EM_LINESCROLL, 0, 1); end else begin SendMessage(Memo1.Handle, EM_LINESCROLL, 0, -1); SendMessage(Memo2.Handle, EM_LINESCROLL, 0, -1); end end; end; [ savkic @ 25.06.2006. 20:45 ] @
Možeš uvesti jednu promenljivu koja će čuvati poslednju poziciju scrollboxa, u OnScroll eventu proveriš kakav je odnos te prethodne vrednosti i nove vrednosti i na osnovu toga odrediš pravac ili pravac i pomeraj.
[ BinaryRuler @ 25.06.2006. 20:52 ] @
Probao sam to ali mi nije islo jer cini mi se da na dogadjaju onscroll in stalno preuzima novu vrednost pa je tako uporedjuje samu sa sobom. A na drugom dogadjaju nemam ScrollPos varijablu.
[ savkic @ 26.06.2006. 19:23 ] @
> Probao sam to ali mi nije islo jer cini mi se da na dogadjaju onscroll in stalno preuzima novu vrednost pa je tako uporedjuje samu sa sobom.
Probaj na primer ovako: Code: var LastScrollPos: Integer; procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode; var ScrollPos: Integer); begin SendMessage(Memo1.Handle, EM_LINESCROLL, 0, ScrollPos - LastScrollPos); LastScrollPos := ScrollPos; end; [ BinaryRuler @ 26.06.2006. 22:11 ] @
E, mnogo ti hvala za pomoc oko scroolbar-a. Uspeo sam da uradim sve sto sam hteo.
[ BinaryRuler @ 26.06.2006. 22:18 ] @
Usput da li mozda znas dali delphi 2005 ima bug u kompajleru, jer mi se desava da mi puca program u koji sam stavio pozivanje dijaloga savetextfiledialog i opentextfile dijalog. Prijavi mi nesto tipa ne moze da procita sa te i te lokacije i bla bla...
ps: Program je osnovni samo se poziva dijalog i snima se. jedno vreme radi i onda pukne sam od sebe. Nema tredova u pozadini ni brojaca pukne sam od sebe. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|