Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

СообЧА. Программирование на Delphi


Служба Рассылок Subscribe.Ru
Subscribe.Ru :СообЧа программирование на дельфи !
—Сообча : программирование на дельфи

Пора делать ремонт?
Не беда!!! Заходите сюда!!!

В новый год с новыми обоями!
***Дом обоев***


Tformовый выпуск

 

 В этом выпуске:

Если вы это читаете, то вам скоро будет нужен новый язык программирования ,для того чтобы было ,что познавать...

 

Рассылки Subscribe.Ru это стильно удобно, и информативно!
СообЧа (СООБщество ЧАйников). Обмен опытом, вопросы, ответы.


подпишись и подпиши друга!!!!

 Contact (Связь с Нами):

Pixel@novgorod.net + Subject: (см ниже)

 

Vcl Haunting

"Золотой Чайник"

Вопрос по дельфи N (N номер версии)

Help!

Реклама

Полезный линк

 

 

Новости СЕТИ

К заголовку

****CD котый вам пригодится!!!****
Конструктор 3D игр: Этот, по сути уникальный CD , нечто среднее между языком программирования, 3д движком и лего конструктором(в том плане что можно соорудить что-либо стоящее из уже готовых "деталей"). Сам я пока обдумываю покупку данного диска, но тем, кто мечтает написать свою игру, с минимумом программирования просто обязан это купить.

Здесь можно купить диск и посмотреть пару скриншотов

Книги по Дельфи которые ВЫ ОБЯЗАНЫ ПРОЧИТАТЬ...

Не столько учебник, сколько справочное пособие по наиболее используемым алгоритмам и командам...

Пожалуй лучший учебник по дельфи 6 на сегодняшний день, вам даже не надо знать дельфи, чтобы начать ...

Новый сайт в новом году, с таким девизом я переделал наш сайт, и добавил туда 3 новых компонента, ктати о новых сайтах совсем недавно обнаружил ЗДЕСЬ ОГРОМНЫЙ СКЛЛАД VCL как бесплатных, так и коммерческих.

 

 

Иллюзионисты

К заголовку

Помещение VCL компонентов в область заголовка?(Не тестировано)

Здесь есть хитрость:
Нужно разместить все необходимые элементы управления в отдельной форме, которая должна отслеживать перемещение и изменение размеров основной формы. Данная форма будет всегда находится над областью заголовка основной формы.

Нижеприведенный проект включает в себя 2 формы и выпадающий список (combobox). После запуска программы список появляется в области заголовка главной формы. Два ключевых вопроса: 1) организация перехвата сообщения WM_MOVE главной формы; и 2) возвращение фокуса в главную форму после того, как пользователь нажмет на каком-либо элементе управления, способным иметь фокус (например, TComboBox, TButton и др.)

Я использую 32-битную Delphi 2.0 под Win95, тем не менее данный код должен работать с любой версией Delphi.

Вот исходный код главной формы:

--------------------------------------------------------------------------------
unit Unit1;


interface


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


type
TForm1 = class(TForm)
procedure FormResize(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormHide(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure WMMove(var Msg: TWMMove); message WM_MOVE;
end;


var
Form1: TForm1;


implementation


uses Unit2;


{$R *.DFM}


procedure TForm1.FormResize(Sender: TObject);
begin
with Form2 do
begin
{Заменим мои магические числа реальной информацией SystemMetrics}
Width := Form1.Width - 120;
Top := Form1.Top + GetSystemMetrics(SM_CYFRAME);
Left := ((Form1.Left + Form1.Width) - Width) - 60;
end;
end;


procedure TForm1.FormShow(Sender: TObject);
begin
Form2.Show;
end;


procedure TForm1.FormHide(Sender: TObject);
begin
Form2.Hide;
end;


procedure TForm1.WMMove(var Msg: TWMMove);
begin
inherited;
if (Visible) then FormResize(Self);
end;


end.

Вот исходный код для псевдо-заголовка. Данная форма может содержать любые элементы управления VCL, которые вы хотите установить в области заголовка главной формы. По существу, это - независимый диалог со следующими свойствами:

--------------------------------------------------------------------------------
Caption='' {NULL строка}
Height={высота области заголовка}
Width={высота всех компонентов на форме}
BorderIcons=[] {пусто}
Borderstyle="bsNone"
Formstyle="fsStayOnTop"

И, наконец, исходный код для Form2:

--------------------------------------------------------------------------------
unit Unit2;


interface


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


type
TForm2 = class(TForm)
ComboBox1: TComboBox;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormResize(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


var
Form2: TForm2;


implementation


uses Unit1;


{$R *.DFM}


procedure TForm2.FormCreate(Sender: TObject);
begin
Height := ComboBox1.Height - 1;
Width := ComboBox1.Width - 1;
end;


procedure TForm2.ComboBox1Change(Sender: TObject);
begin
Form1.SetFocus;
end;


procedure TForm2.FormResize(Sender: TObject);
begin
ComboBox1.Width := Width;
end;


end.

Файл проекта (.DPR) довольно простой:

--------------------------------------------------------------------------------
program Project1;


uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};


{$R *.RES}


begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.

Это все!

Хотя некоторые авторы книг утверждают:

"Вы не можете установить компоненты Delphi в заголовок окна, точнее, не существует никакого способа установить их там."

Зато существует иллюзия...


 

 

 

Сныкаем заголовок?

К заголовку

Во-первых, перепишите у формы метод "CreateParams", объявив его в protected или public секции:


--------------------------------------------------------------------------------
procedure CreateParams(var Params: TCreateParams); override;

Затем создайте сам код метода CreateParams(), выглядящий так:

--------------------------------------------------------------------------------
procedure TForm1.Createparams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
Style := (Style or WS_POPUP) and (not WS_DLGFRAME);
end;

Надо надеяться, что вы обеспечите некоторый UI-механизм для перемещения и закрытия окна.

 

Zaluskiy Anton(COOLer)  и Khrapunov Kirill(Pixel)  - ведущие проекта    "Мир Delphi" (C) Pixelsoftware(Pixel)& Delphi 2000-2002(COOLer)


Озон! TopList SpyLOG RLE Banner Network
http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу
Рейтингуется SpyLog

 

Another Banner Network



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное