![]() |
|
تغيير مكان زر إبدأ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : مصادر دلفي مفتوحة تعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=14) +--- الموضوع : تغيير مكان زر إبدأ (/showthread.php?tid=1408) |
تغيير مكان زر إبدأ - paix144 - 16-12-2009 السلام عليكم هذا كود سورس لتغيير مكان زر إبدأ تغيير مكان زر إبدأ - kachwahed - 20-12-2009 جميل جدا... PHP كود : MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil), x, y, nWidth, nHeight, True); تغيير مكان زر إبدأ - قديم الشوق - 07-01-2010 اذا امكن تفصيل الكود البرمجي 1- كيف اجعل الحركه آليه --- (بقيمة ثابته) -- و كيف اجعله ينطلق من 0 الى نهاية شريط المهام بالكود وجزااك الله خيراً تغيير مكان زر إبدأ - محمد س - 31-01-2010 كود : unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Déclarations privées }
lar:Integer;
fpo:TRect;
H,Hand: THandle;
b:boolean;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Const
Pas=10;
procedure FindChildWindows(Ha: Integer);
var
h: THandle;
begin
h := GetWindow(Ha, GW_CHILD);
While h <> 0 do
Begin
InvalidateRect(H,nil,True);
FindChildWindows(h);
h := GetWindow(h, GW_HWNDNEXT);
End;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
po:TRect;
begin
// Application.ShowMainForm:=False;
H := FindWindow('Shell_TrayWnd', nil);
Hand := FindWindowEx(H, 0, 'Button', nil);
GetWindowRect(H,Po);
GetWindowRect(Hand,fPo);
fpo.Bottom:=fpo.Bottom-fpo.Top;
fpo.Top:=0;
fpo.Right:=fpo.Right-fpo.Left;
lar:=po.Right;
b:=False;
Timer1:=TTimer.Create(nil);
Timer1.Enabled:=False;
Timer1.OnTimer:=Timer1Timer;
Timer1.Interval:=100;
Timer1.Enabled:=true;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Timer1.Enabled:=False;
Timer1.Free;
MoveWindow(Hand,0,0,fpo.Right,fpo.Bottom,false);
InvalidateRect(H,nil,True);
FindChildWindows(h);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
n:integer;
begin
case b of
False:begin
n:=fpo.Left+pas;
if n+fpo.Right<lar then fpo.Left:=n
else b:=True;
end;
True:begin
if fpo.Left>pas then fpo.Left:=fpo.Left-pas
else b:=False;
end;
end;
MoveWindow(Hand,fpo.Left,fpo.Top,fpo.Right,fpo.Bottom,false);
InvalidateRect(H,nil,True);
FindChildWindows(h);
end;
end.تغيير مكان زر إبدأ - محمد س - 31-01-2010 أو en mode consol كود : program Project1;
{$APPTYPE CONSOLE}
uses
Windows,
Messages;
Const
Pas=10;
var
lar:Integer;
fpo:TRect;
H,Hand,Timer: THandle;
b:boolean;
procedure FindChildWindows(Ha: Integer);
var
h: THandle;
begin
h := GetWindow(Ha, GW_CHILD);
While h <> 0 do
Begin
InvalidateRect(H,nil,True);
FindChildWindows(h);
h := GetWindow(h, GW_HWNDNEXT);
End;
end;
procedure Timer1Timer;
var
n:integer;
begin
case b of
False:begin
n:=fpo.Left+pas;
if n+fpo.Right<lar then fpo.Left:=n
else b:=True;
end;
True:begin
if fpo.Left>pas then fpo.Left:=fpo.Left-pas
else b:=False;
end;
end;
MoveWindow(Hand,fpo.Left,fpo.Top,fpo.Right,fpo.Bottom,false);
InvalidateRect(H,nil,True);
FindChildWindows(h);
end;
procedure FormCreate;
var
po:TRect;
begin
Timer:=SetTimer(0,0,100,nil);
H := FindWindow('Shell_TrayWnd', nil);
Hand := FindWindowEx(H, 0, 'Button', nil);
GetWindowRect(H,Po);
GetWindowRect(Hand,fPo);
fpo.Bottom:=fpo.Bottom-fpo.Top;
fpo.Top:=0;
fpo.Right:=fpo.Right-fpo.Left;
lar:=po.Right;
b:=False;
end;
Procedure FormDestroy(n:Dword);
begin
MoveWindow(Hand,0,0,fpo.Right,fpo.Bottom,false);
InvalidateRect(H,nil,True);
FindChildWindows(h);
KillTimer(Timer,0);
end;
var
Msg: TMsg;
begin
SetConsoleCtrlHandler(@FormDestroy,True);
FormCreate;
repeat
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) and
(msg.message=WM_TIMER) then Timer1Timer;
until False;
end.كود : {$APPTYPE CONSOLE}تغيير مكان زر إبدأ - قديم الشوق - 03-02-2010 هذا الرد لي وألا مشاركه منك في الموضوع وشكراً تغيير مكان زر إبدأ - محمد س - 03-02-2010 قديم الشوق كتب :هذا الرد لي وألا مشاركه منك في الموضوع لك طبعا :brow: تغيير مكان زر إبدأ - قديم الشوق - 04-02-2010 الله يجزاك خير يليت تضع الرسورس طبقت وطلع عندي أخطأ وجزاك الله خير تغيير مكان زر إبدأ - محمد س - 04-02-2010 قديم الشوق كتب :الله يجزااك خير أنا أستعمل delphi6 أما السورس، ما عليك إلا نقل الكود الثاني الذي يعمل في mode consol تغيير مكان زر إبدأ - قديم الشوق - 06-02-2010 هناك أخطاء في الكود الأول اما الكود الثاني يعمل تمام وشكراً |