<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=53180&amp;view=findpost&amp;p=351085</guid>
        <pubDate>Mon, 03 May 2004 18:59:30 +0000</pubDate>
        <title>Избавление от скролов в MDI форме</title>
        <link>https://forum.sources.ru/index.php?showtopic=53180&amp;view=findpost&amp;p=351085</link>
        <description><![CDATA[Song: <div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">{ Избавление от ScrollBar&#39;ов в MDI-форме. (С) Peter Below (TeamB) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">{ Не надо VCL переписывать :-) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div><div class="code_line">&nbsp;</div><div class="code_line">unit MainForm;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,</div><div class="code_line">&nbsp;&nbsp;Menus;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TfMain = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;MainMenu1: TMainMenu;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Newchild1: TMenuItem;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Newchild2: TMenuItem;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure Newchild2Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure FormCreate(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;fMain: TfMain;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">uses ChildForm;</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.DFM}</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TfMain.Newchild2Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;with TfChild.Create(Application) do</div><div class="code_line">&nbsp;&nbsp; &nbsp;Show();</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function ClientWindowProc( wnd: HWND; msg: Cardinal; wparam, lparam: Integer ): Integer; stdcall;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;f: Pointer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;f := Pointer( GetWindowLong( wnd, GWL_USERDATA ));</div><div class="code_line">&nbsp;&nbsp;case msg of</div><div class="code_line">&nbsp;&nbsp;WM_NCCALCSIZE:</div><div class="code_line">&nbsp;&nbsp; &nbsp;if ( GetWindowLong( wnd, GWL_STYLE ) and</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (WS_HSCROLL or WS_VSCROLL)) &#60;&#62; 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;SetWindowLong( wnd, GWL_STYLE, GetWindowLong( wnd, GWL_STYLE )</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and not (WS_HSCROLL or WS_VSCROLL));</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;Result := CallWindowProc( f, wnd, msg, wparam, lparam );</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TfMain.FormCreate(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if ClientHandle &#60;&#62; 0 then begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;if GetWindowLong( ClientHandle, GWL_USERDATA ) &#60;&#62; 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Exit; &nbsp;{cannot subclass client window, userdata already in use}</div><div class="code_line">&nbsp;&nbsp; &nbsp;SetWindowLong(ClientHandle, GWL_USERDATA, SetWindowLong( ClientHandle,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GWL_WNDPROC, integer( @ClientWindowProc)));</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Song</author>
        <category>Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	