Какже Вы такое пропустили

Пожелания по улучшению программы. Чего еще не хватает в DM.

Moderators: Korney San, Qwertiy, marcipan, igelizm

Post Reply
Gensun
Posts: 3
Joined: 13 Mar 2006, 8:23 Mon
Location: wWw
Contact:

Какже Вы такое пропустили

Post by Gensun »

Вобшем я пользуюсь DM неоччень давно, около 2 недель. И пока мною было замеченно несколько ошибок.

Некоторые из файлов были сжаты UPX.

Постает вопрос, ЗАЧЕМ? Темболие вы сжали его без зашиты, тоесть его можно распаковать. Намой взгляд лутше всего пользоватса (Win)Upack, он сильнее сжимает файлы чем UPX или ASPack. Официальный сайт сжималки находитса тут http://www.wex.cn/dwing/ а вот прямой линк на сжималку http://www.wex.cn/dwing/download/WinUpack39.rar внутри файла лежат версии на Китайском, Английском и Руском язике.

Вскоре я предоставлю ише информацию которую советую почетать разработчикам
Be reaL.
Gensun
Posts: 3
Joined: 13 Mar 2006, 8:23 Mon
Location: wWw
Contact:

AlphaControls

Post by Gensun »

Тот вариант с поддержкой скинов который сичас реализирован весьма примитивный, чтоб самому реализовать чтото на Delphi то это тоже будет тежело. Поэтому я предлагаю использовать AlphaControls, сама посибе библиотека платная, но для людей из СНГ она безплатна.(правда в ней будут закрыты исходные коды)

Вот офф сайт http://www.alphaskins.com/
А вот страничка для людей понимаюших руский язык http://www.alphaskins.com/index_rus.php

Темболие что эту библиотеку зделал человек тоже с України, и проживает он в Одесской областе.
Be reaL.
Gensun
Posts: 3
Joined: 13 Mar 2006, 8:23 Mon
Location: wWw
Contact:

Передвижение плавуешего окошка

Post by Gensun »

У плавуешего околшка достаточно много плюсов, я решил всетаки их улутшить. Вобшем когда окошко передвинуть вне монитора то окошко передвигаетса назад. В этом есть плюс, но окошко передвигаетса тогда когда отпускаетса мышка. А вот если не опускать? Я думаю что такое врядли ктото делает, но всеже это надо побороть.

Вобшем в private прописываем:
procedure WMWINDOWPOSCHANGING (Var Msg: TWMWINDOWPOSCHANGING);
message WM_WINDOWPOSCHANGING;

А в var (там где Form1: TForm1;) прописываем:
MousePressed:boolean;
oldX,oldY:integer;

Вот код процедуры WMWINDOWPOSCHANGING:
procedure TForm1.WMWINDOWPOSCHANGING (var Msg: TWMWINDOWPOSCHANGING);
Var rWorkArea:TRect;
StickAt:Word;
begin
StickAt:=10;
SystemParametersInfo(SPI_GETWORKAREA,0,@rWorkArea,0);
With Msg.WindowPos^ do
begin
If x<=rWorkArea.Left+StickAt then x:=rWorkArea.Left;
If x+cx>=rWorkArea.Right-StickAt then x:=rWorkArea.Right-cx;
If y<=rWorkArea.Top+StickAt then y:=rWorkArea.Top;
If y+cy>=rWorkArea.Bottom-StickAt then y:=rWorkArea.Bottom-cy;
end;
inherited;
end;


Также вот какие нужны процедуры:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
If Button=mbLeft then MousePressed:=True;
oldX:=X;
oldY:=Y;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
If MousePressed=True then
begin
Form1.Left:=Form1.Left+X-oldX;
Form1.Top:=Form1.Top+Y-oldY;
end;
end;


procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MousePressed:=False;
end;
Be reaL.
Post Reply