كيفية وضع نافذة بجانب الساعة في شريط المهام
#1
السلام عليكم

كيف تغيير موضع النافذة ووضعها بجانب الساعة في شريط المهام كما في في الصورة
كود :
http://imageshack.us/photo/my-images/715/howtogk.jpg
الرد
#2
و عليكم السلام و رحمة الله
لم أفهم سؤالك جيدا أخي
إن كنت تريد وضع أيقونة بجانب الساعة فأنظر هذا الموضوع
http://www.delphi4arab.net/forum/showthr...light=icon
الرد
#3
[COLOR="Purple"]وعليكم السلام ورحمة الله
لو تقصد عند تنفيذ البرنامج يظهر في مكان معين أنت تريده فيجب عليك تحديد ذلك أثناء التصميم
في الصورة المرفقه مشار على مستطيل عند تحريكك له يضبط مكان ظهور برنامجك على الشاشة
كود :
http://www11.0zz0.com/2011/07/12/18/635254679.jpg
بالتوفيق[/COLOR]
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#4
السلام عليكم

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

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

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

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

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


بالتوفيق[/COLOR]
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
الرد
#6
أخي ، لا تنفع هذه لأنه سيقوم بحفظ ال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;
الرد
#7
[INDENT]
لا تنس استعمال خاصية Anchors

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

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


[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#8
أنظر هذا الكود أخي لمعرفة لغة النظام تم التصرف في تغير مكان الفورم

كود :
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;
الرد
#9
السلام عليكم بعد غياب طويل ها أنا ذا أعود إليكم من جديد .. أخي 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;
الرد
#10
وعليكم السلام
شكرا لك يا AnoirsoftDevloper
لقد نجحت العملية.ووضعت السورس في المرفقات ليستفيد الجميع
أشكركم جزيل الشكر على مروركم ومجهوداتكم المبذولة


الملفات المرفقة
.rar   D4A.rar (الحجم : 5.52 ك ب / التحميلات : 69)
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم