<div dir="ltr"><div class="gmail_quote">On Sat, Apr 17, 2010 at 11:39 PM, Martin <span dir="ltr"><<a href="mailto:lazarus@mfriebe.de">lazarus@mfriebe.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">On 17/04/2010 21:44, Zaher Dirkey wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Sat, Apr 17, 2010 at 9:24 PM, Silvio Clecio<<a href="mailto:silvioprog@gmail.com" target="_blank">silvioprog@gmail.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Flávio Etrusco escreveu:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Can somebody please take a look at the patch attached in<br>
<a href="http://bugs.freepascal.org/view.php?id=13537" target="_blank">http://bugs.freepascal.org/view.php?id=13537</a> and report any problems<br>
or questions back to me?<br>
<br>
Best regards,<br>
Flávio<br>
<br>
</blockquote>
I'm using. Here (Ubuntu-9.10/FPC-2.2.4-3/Lazarus-0.9.28.2/GTK2) is<br>
working perfectly well :)<br>
<br>
--<br>
[]'s<br>
<br>
Silvio Clécio<br>
--<br>
programmer ObjectPascal - <a href="http://silvioprog.com.br" target="_blank">http://silvioprog.com.br</a><br>
--<br>
twitter - <a href="http://twitter.com/silvioprog" target="_blank">http://twitter.com/silvioprog</a><br>
--<br>
Grupo Lazarus-BR no Google - <a href="http://groups.google.com/group/lazarus-br" target="_blank">http://groups.google.com/group/lazarus-br</a><br>
<br>
<br>
</blockquote>
In windows win32/XP i have window flicker (like the IDE hide and show)<br>
every time i open new dialog, for example the search dialog, is that<br>
depend on your patch?<br>
<br>
</blockquote>
<br>
<br></div></div>
The flicker is there anyway, once you moved a dialog.<br>
<br>
Lazarus stores for each dialog where you had it last time. But unfortunately, those coordinates are only applied after the dialog is visble at it's designed position => flicker<font color="#888888"></font><br clear="all">
</blockquote></div><br>@Martin I meant the IDE forms not the my application form, <br>@Silvio i decided it belong your patch, becuase i noticed you are use "UpdateShowInTaskBar" in some function, if we follow it to Win32 wedgets, it Hide the form then Show it, hiding the visible form get forcus to another forms and show it, before showed it, that make a flicker, <br>
You can see<br><br> if Visible then<br>
ShowWindow(AForm.Handle, SW_HIDE);<br>
<br>I comment this line and build Lazarus IDE, the flicker is gone.<br><br>---------------<br>class procedure TWin32WSCustomForm.SetShowInTaskbar(const AForm: TCustomForm;<br> const AValue: TShowInTaskbar);<br>var<br> Style: DWord;<br>
Visible, Active: Boolean;<br>begin<br> if not WSCheckHandleAllocated(AForm, 'SetShowInTaskbar') then<br> Exit;<br> if (Application <> nil) and (AForm = Application.MainForm) then<br> Exit;<br><br> // to apply this changes we need either to hide window or recreate it. Hide is<br>
// less difficult<br> Visible := IsWindowVisible(AForm.Handle);<br> Active := GetForegroundWindow = AForm.Handle;<br> if Visible then<br> ShowWindow(AForm.Handle, SW_HIDE);<br><br> Style := GetWindowLong(AForm.Handle, GWL_EXSTYLE);<br>
if AValue = stAlways then<br> Style := Style or WS_EX_APPWINDOW<br> else<br> Style := Style and not WS_EX_APPWINDOW;<br> SetWindowLong(AForm.Handle, GWL_EXSTYLE, Style);<br><br> // now we need to restore window visibility with saving focus<br>
if Visible then<br> if Active then<br> ShowWindow(AForm.Handle, SW_SHOW)<br> else<br> ShowWindow(AForm.Handle, SW_SHOWNA);<br>end;<br>--------------<br><br>Best regards<br><br>-- <br>Zaher Dirkey<br><br>
</div>