28. august 2001 - 09:41Der er
8 kommentarer og 3 løsninger
Runtime Resize
Jeg har haft lidt bøvl med at få lavet min OnFormResize procedure. Min form skal kunne strækkes men kun i 10 pixels intervaller. D.v.s. når man har trukket i kanten skal der rundes ned til nærmeste \"rund\" bredde. Men når jeg prøver at regne den nye bredde ud og sætte den manuelt i koden opstår der endnu en OnResize event og jeg havner i en løkke. Jeg vil gerne have nogen råd. Jeg har leget lidt med OnCanResize og OnConstrainedResize men kom ingen vejne der. Så vidt jeg kan se, opstår der også en OnResize ved starten af programmet (startværdien for bredden ændres dog ikke, når den kommer igennem min formel, så her kommer jeg ikke ind i løkken).
Jeg overvejet en lignende løsning men vil hellere udnytte de muligheder, der ligger i OnCanResize eller OnConstrainedResize (hvis det overhovedet er muligt).
Letoc\'s svar er faktisk lidt morsomt. Første gang virker rutinen fint (forudsat at FEVent... er initialiseret til false). Derefter vil man exite hver eneste gang uden af få lavet en dyt....
Bortset fra det er svaret som sådan ok - Jeg laver ofte noget lignende, hvor jeg normalt vælger at bruger en typed constant. Så\'en ud af hovedet gør jeg noget i retning af:
Procedure..... Const IsActive : Boolean = False; Begin If IsActive Then IsActive := False Else Begin IsActive := True;
FooBar(Alle dine argumenter); End; End;
Nemt, simpelt, resource venligt og meget overskueligt....
Letoc: Det er meget fint at du har sat din False tilskrivning i Finally delen, men i betragtning af at du exiter FØR du kommer ind i Try delen, så sker der altså ikke en sk*d.
check din kode inden du er for hurtig påaftrækkeren....
Jeg exit\'er kun, hvis FEventResizing er TRUE. Denne variabel skal initielt sættes til FALSE. Når event-koden kører, sættes den til TRUE, den resterende del af koden køres, og man skal så sørge for, at den igen sættes til FALSE (i finally delen).
Man skal selvfølgelig sørge for ikke fx at kalde exit, inden finally nås. Jeg ved ikke om det er det, der er dit problem...?? Jeg mener ikke, jeg var for hurtig på aftrækkeren...!
Torben, Peter - jeg vil ikke fremstå som utaknemmelig for jeres hjælp, men det er mere mulighederne i håndteringen af OnCanResize og OnConstrainedResize events, jeg ville vide noget om. Delphis online hjælp nævner mulighederne for finjusteringer men giver ikke meget at gå efter.
Jeg koger alle tre svar sammen til en mellemløsning ... Tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.