Kako mogu na jednu formu da postavim jedan scrollbar za scrollovanje de memo kontrole? Pokusavao sam na sve moguce nacine ali nisam imao uspeha.
Kako da uz pomoc jednog scrollbar-a scroll-ujem dve memo kontrole???
Zaključano
Zakačeno
> 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);
Možeš poslati tim kontrolama EM_LINESCROLL poruku, npr. SendMessage(Memo1.Handle, EM_LINESCROLL, 0, 1);
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
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?
Da li tu poriku saljem sa kontrole scrollbar-a sa dogadjaja Onscroll ili nekako drugacije?
> 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.
Š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.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
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;
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;
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.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
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.
> 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:
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;
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;
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
E, mnogo ti hvala za pomoc oko scroolbar-a. Uspeo sam da uradim sve sto sam hteo.
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.
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.