delphi4arab منتديات دلفي للعرب
كيفية وضع نافذة بجانب الساعة في شريط المهام - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيفية وضع نافذة بجانب الساعة في شريط المهام (/showthread.php?tid=3281)

الصفحات: 1 2


كيفية وضع نافذة بجانب الساعة في شريط المهام - AnoirsoftDeveloper - 12-07-2011

السلام عليكم

كيف تغيير موضع النافذة ووضعها بجانب الساعة في شريط المهام كما في في الصورة
كود :
http://imageshack.us/photo/my-images/715/howtogk.jpg



كيفية وضع نافذة بجانب الساعة في شريط المهام - paix144 - 12-07-2011

و عليكم السلام و رحمة الله
لم أفهم سؤالك جيدا أخي
إن كنت تريد وضع أيقونة بجانب الساعة فأنظر هذا الموضوع
http://www.delphi4arab.net/forum/showthread.php?tid=528&highlight=icon


كيفية وضع نافذة بجانب الساعة في شريط المهام - ELARAPY - 12-07-2011

[COLOR="Purple"]وعليكم السلام ورحمة الله
لو تقصد عند تنفيذ البرنامج يظهر في مكان معين أنت تريده فيجب عليك تحديد ذلك أثناء التصميم
في الصورة المرفقه مشار على مستطيل عند تحريكك له يضبط مكان ظهور برنامجك على الشاشة
كود :
http://www11.0zz0.com/2011/07/12/18/635254679.jpg
بالتوفيق[/COLOR]


كيفية وضع نافذة بجانب الساعة في شريط المهام - AnoirsoftDeveloper - 12-07-2011

السلام عليكم

شكرا لك أخيpaix144 ، أود تغير مكان النافذة في الشاشة

إقتباس : في الصورة المرفقه مشار على مستطيل عند تحريكك له يضبط مكان ظهور برنامجك على الشاشة

شكرا لك أخي ELARAPY ، أنا أستعمل delphi7 والنافذة يتغير موضعها من اليسار إلى اليمين حسب النظام المثبت إذا كان عربي تظهر بقرب الساعة في اليسار وفي الفرنسي والإنجليزي العكس (في اليمين)

تظهر النافذة وكأنها 'تنبيه'
أظن أن سؤالي مفهوم.


كيفية وضع نافذة بجانب الساعة في شريط المهام - ELARAPY - 12-07-2011

مع Delphi7 ضع الفورم في المكان الذي تريده يظهر به ثم أضبط خاصية[COLOR="Red"] Position=poDesigned الخاصه بالفورم كما في الصوره

كود :
http://www4.0zz0.com/2011/07/12/20/631888817.jpg


بالتوفيق[/COLOR]


كيفية وضع نافذة بجانب الساعة في شريط المهام - AnoirsoftDeveloper - 12-07-2011

أخي ، لا تنفع هذه لأنه سيقوم بحفظ الLeft,Top للForm وذلك عند تغيير الجهاز ستختلف TOp وleft
حسب عرض الشاشة بإختلاف الأجهزة
وايضا حسب لغة النظام (يمين ، يسار )
يوجد كود يقوم بقراءة TaskbarPosition ويقوم بعرض النافذة فوق الساعة

هذا كود استخرجته من أحد المكونات به مبتغاي لكن أنا لم أستطع التعامل معه وأوده داخل البرنامج وليس في مكون
أنظر إلى الكود ربما قد يفيدك ويفيدني
إسم المكون TNxAlertWindow
كود :
procedure TNxAlertWindow.DoPopupTimer(Sender: TObject); var Delta, h, Y, Sound: Integer; TaskbarRect: TRect; TaskbarPosition: Integer; begin Delta := 0; TaskbarPosition := FindTaskbar(TaskbarRect); case TaskbarPosition of ABE_BOTTOM, ABE_TOP: Delta := TaskbarRect.Bottom - TaskbarRect.Top; ABE_LEFT, ABE_RIGHT: Delta := TaskbarRect.Right - TaskbarRect.Left; end; case FAlertDirection of adUp: if Height + 5 >= FRealHeight then { full open } begin case TaskbarPosition of ABE_BOTTOM, ABE_LEFT, ABE_RIGHT: begin SetWindowPos(Handle, HWND_TOPMOST, GetPopupLeft, (Screen.Height - delta) - FRealHeight - FIndent, Width, FRealHeight, SWP_SHOWWINDOW); end; ABE_TOP: begin SetWindowPos(Handle, HWND_TOPMOST, GetPopupLeft, TaskbarRect.Bottom + FIndent, Width, FRealHeight, SWP_SHOWWINDOW); end; end; FPopupTimer.Enabled := False; FDelayTimer.Enabled := FCloseDelay <> -1; FFullOpen := True; DoPopup; if FPopupSound <> msNone then { play sound } begin Sound := 0; case FPopupSound of msIconAsterisk: Sound := MB_ICONASTERISK; msIconExclamation: Sound := MB_ICONEXCLAMATION; msIconHand: Sound := MB_ICONHAND; msIconQuestion: Sound := MB_ICONQUESTION; msOk: Sound := MB_OK; end; MessageBeep(Sound); end; end else begin { in progress } case TaskbarPosition of ABE_BOTTOM, ABE_LEFT, ABE_RIGHT: begin h := Height + 5; Y := TaskbarRect.Top - h - FIndent; end; else {ABE_TOP} begin h := Height + 5; Y := TaskbarRect.Bottom + FIndent; end end; SetWindowPos(Handle, HWND_TOPMOST, GetPopupLeft, Y, Width, h, SWP_SHOWWINDOW); end; adDown: if Height <= 0 then begin DoClosed; end else begin case TaskbarPosition of ABE_BOTTOM, ABE_LEFT, ABE_RIGHT: begin h := Height - 5; Y := TaskbarRect.Top - h - FIndent; end; else {ABE_TOP} begin h := Height - 5; Y := TaskbarRect.Bottom + FIndent; end; end; SetWindowPos(Handle, HWND_TOPMOST, GetPopupLeft, Y, Width, h, SWP_SHOWWINDOW); end; end; { case } end;



كيفية وضع نافذة بجانب الساعة في شريط المهام - أبو معاذ - 12-07-2011

[INDENT]
لا تنس استعمال خاصية Anchors

للمزيد من المعلومات على هذه الخاصية أنظر الفيديو الآتي :

كود :
http://www.youtube.com/watch?v=FNWcy8S2k4Y


[/INDENT]


كيفية وضع نافذة بجانب الساعة في شريط المهام - paix144 - 12-07-2011

أنظر هذا الكود أخي لمعرفة لغة النظام تم التصرف في تغير مكان الفورم

كود :
procedure TForm1.Button1Click(Sender: TObject); var Ident: Integer; MyLang: PChar; const Size: Integer = 250; begin GetMem(MyLang, Size); Ident:=GetSystemDefaultLangID; VerLanguageName(Ident, MyLang, Size); Label1.Caption:=StrPas(MyLang); FreeMem(MyLang); end; procedure TForm1.Button2Click(Sender: TObject); begin If label1.Caption='Français (France)' then showmessage('France') //change la position de form else if Label1.Caption='Arabic (Algérie)' then ShowMessage('Algérie') //change la position de la form else ShowMessage('Anglais'); end;



كيفية وضع نافذة بجانب الساعة في شريط المهام - AnoirsoftDeveloper - 13-07-2011

السلام عليكم بعد غياب طويل ها أنا ذا أعود إليكم من جديد .. أخي Micro .هذا كود لتغيير مكان الفورم ،يقوم بقراءة طول وعرض الشاشة ويقوم بتغيير الموضع تلقائيا
كود :
//لقراءة ارتفاع شريط المهام function TaskBarHeight: integer;var hTB: HWND; // taskbar handle TBRect: TRect; // taskbar rectanglebegin hTB:= FindWindow('Shell_TrayWnd', ''); if hTB = 0 then Result := 0 else begin GetWindowRect(hTB, TBRect); Result := TBRect.Bottom - TBRect.Top; end;end;procedure TForm1.FormCreate(Sender: TObject);beginForm1.Left:=Screen.Width-Form1.Width;Form1.Top:=Screen.Height-TaskBarHeight-Form1.Height;end;//هذا للنسخ الأجنبية (فرنسي إنجليزي ) والأخر للعربية procedure TForm1.FormCreate(Sender: TObject);beginForm1.Left:=0;Form1.Top:=Screen.Height-TaskBarHeight-Form1.Height;end;
ولمعرفة لغة النظام أتبع كود الأخ paix144
إقتباس :أنظر هذا الكود أخي لمعرفة لغة النظام تم التصرف في تغير مكان الفورم
كود :
procedure TForm1.Button1Click(Sender: TObject);var Ident: Integer; MyLang: PChar;const Size: Integer = 250; begin GetMem(MyLang, Size); Ident:=GetSystemDefaultLangID; VerLanguageName(Ident, MyLang, Size); Label1.Caption:=StrPas(MyLang); FreeMem(MyLang);end;procedure TForm1.Button2Click(Sender: TObject);beginIf label1.Caption='Français (France)' thenshowmessage('France')//change la position de formelse if Label1.Caption='Arabic (Algérie)' thenShowMessage('Algérie')//change la position de la formelseShowMessage('Anglais');end;



كيفية وضع نافذة بجانب الساعة في شريط المهام - AnoirsoftDeveloper - 13-07-2011

وعليكم السلام
شكرا لك يا AnoirsoftDevloper
لقد نجحت العملية.ووضعت السورس في المرفقات ليستفيد الجميع
أشكركم جزيل الشكر على مروركم ومجهوداتكم المبذولة