Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

ScrollBar   Найти похожие ветки 

 
Dmk   (2002-06-26 23:22) [0]

Можно ли убрать ScrollBar"s из MainForm, если она MDIForm?
Нужно, чтоб когда Child уезжает за границу MDI они не появлялись.


 
Dmk   (2002-06-27 00:15) [1]

Нельзя?


 
tsarevep   (2002-06-27 00:30) [2]

Можно. Но незнаю как. Где то читал. В генофонд залазить надо.


 
Dmk   (2002-06-27 00:32) [3]

AutoScroll := false не помогает. :(


 
alena.svt   (2002-06-27 00:45) [4]

AutoScroll тут вообще не причем.


 
Dmk   (2002-06-27 02:44) [5]

Может быть MainForm должна быть не TForm,а TCustomForm?


 
Song   (2002-06-27 08:54) [6]

Через SetWindowLong() child окнам Вы должны назначить обработчик ClientWdnProc который на событие WM_NCCALCSIZE будет убирать стили WS_HSCROLL и WS_VSCROLL после чего передавать управление на родительский (CallWindowProc).


 
Игорь Шевченко   (2002-06-27 09:54) [7]

{ Избавление от ScrollBar"ов в MDI-форме. (С) Peter Below (TeamB) }
{ Не надо VCL переписывать :- }

unit MainForm;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus;

type
TfMain = class(TForm)
MainMenu1: TMainMenu;
Newchild1: TMenuItem;
Newchild2: TMenuItem;
procedure Newchild2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
fMain: TfMain;

implementation

uses ChildForm;

{$R *.DFM}

procedure TfMain.Newchild2Click(Sender: TObject);
begin
with TfChild.Create(Application) do
Show();
end;

function ClientWindowProc( wnd: HWND; msg: Cardinal; wparam, lparam: Integer ): Integer; stdcall;
var
f: Pointer;
begin
f := Pointer( GetWindowLong( wnd, GWL_USERDATA ));
case msg of
WM_NCCALCSIZE:
if ( GetWindowLong( wnd, GWL_STYLE ) and
(WS_HSCROLL or WS_VSCROLL)) <> 0 then
SetWindowLong( wnd, GWL_STYLE, GetWindowLong( wnd, GWL_STYLE )
and not (WS_HSCROLL or WS_VSCROLL));
end;
Result := CallWindowProc( f, wnd, msg, wparam, lparam );
end;

procedure TfMain.FormCreate(Sender: TObject);
begin
if ClientHandle <> 0 then begin
if GetWindowLong( ClientHandle, GWL_USERDATA ) <> 0 then
Exit; {cannot subclass client window, userdata already in use}
SetWindowLong(ClientHandle, GWL_USERDATA, SetWindowLong( ClientHandle,
GWL_WNDPROC, integer( @ClientWindowProc)));
end;

end;

end.


 
Song   (2002-06-27 10:33) [8]

2Игорь Шевченко © (27.06.02 09:54)
Ну вот, всю малину испортили... :-((

:D


 
Dmk   (2002-06-28 00:36) [9]

Мде... Этот ответ застал меня на переписи своего класса окна.
Опыта работы с формами маловато. :(
Ребят! Я Вам очень благодарен. На написание класса я бы потратил наверно неделю не меньше, а на его отладку ... даже и не знаю.

TNX. :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
4-47911
KiberArt
2002-05-11 10:52
2002.07.15
The KeyboardProc hook procedure is an application-defined


3-47088
Adventure
2002-06-12 11:04
2002.07.15
***** Вопрос с СПЕЦИАЛИСТАМ по базам данных!


3-47065
KAA_
2002-06-20 12:18
2002.07.15
Индекс не найден


6-47661
Steel Ice
2002-05-02 01:31
2002.07.15
Пропадалово


1-47322
stupid
2002-06-30 21:15
2002.07.15
Как проверить, есть ли строковое значение в реестре?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский