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=6566)



استفسار بخصوص تكبير الفورم - salah07230 - 18-11-2014

السلام عليكم
ما هي طريقة تكبير الفورم ؟ مثلا عند الضغط عليه مرتين يقوم بملأ الشاشة كاملة وعند الضغط على الفورم مرتتي يعود الى حجمه الاصلي
البرنامج عبارة عن مشغل فيديو
وشكرا


استفسار بخصوص تكبير الفورم - hakimrahal - 18-11-2014

السلام عليكم ورحمة الله وبركاته, هذا كود بسيط يشرح ذلك.
PHP كود :
var
  
Form1: TForm1;
width,heigth:integer;
implementation

{$R *.dfm}

procedure TForm1.FormDblClick(Sender: TObject);

begin
  
if form1.WindowState=wsnormal then
  begin
  width
:=form1.Width;
  
heigth:=form1.Height;
  
form1.WindowState:= wsmaximized;
  
end
  
else
  
begin
  form1
.WindowState:=wsnormal;
  
form1.Width:=width;
  
form1.Height:=heigth;
  
end; 
end; 



استفسار بخصوص تكبير الفورم - اسامه الحكيم - 18-11-2014

وماذا عن وضع المكونات على الفورم حين يتغير حجمه


استفسار بخصوص تكبير الفورم - ALmuhhnad - 18-11-2014

السلام عليكم ورحمة الله وبركاتة

إذا كنت تعمل على FM يوجد خاصية Boolean تقوم بتغييرها ليصبح الفورم بشكل الكامل
حالياً لا املك FM لكن إن لم تخني الذاكرة فهو IsFullScrean او قريب من هذا ^^"

أما إذا كنت تريد ان تعمل واحد خاص بك .. فسيتوجب عليك إستعمال بعض دوال API النظام
فمثلاً على نظام ويندوز يكون المثال كتالي :

في البداية نعرف متغير عام هكذا :
PHP كود :
FullScreen : Boolean = False; 

ثم سنقوم بكتابة هذا الكود :
PHP كود :
if FullScreen = False then
  begin
    FullScreen 
:= True;
    
// show Form1 with no Border
    
Form1.BorderStyle := bsNone;
    
//maximize the window
    
WindowState := wsMaximized;
    
//hide the title bar
    
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) and not WS_CAPTION);
    
//resize Height to let it get the new size with no Border
    
ClientHeight := Height;
  
end
  
else
  
begin
    FullScreen 
:= False;
    
//Normal the window
    
WindowState := wsNormal;
    
//show the title bar
    
SetWindowLong(Handle,gwl_Style,GetWindowLong(Handle,gwl_Style) or ws_Caption or ws_border);
    
Form1.BorderStyle := bsSizeable;
    
Height := Height + GetSystemMetrics(SM_CYCAPTION);
    
Refresh;
  
end; 

سبق وأن استعملته عندما كنت اعمل على برنامج فيديو .. وكانت النتائج جيدة

بالتوفيق

---------------------------------------------------------
إقتباس : وماذا عن وضع المكونات على الفورم حين يتغير حجمه
ماذا تقصد ؟ ..
إذا كنت تقصد انه ستكون غير مرتبه فأستعمل خاصية Anchors لتحصل على ترتيب جيد للمكونات
كذلك يفضل ان تضع الـمكونات في TPanel لكي تتحكم بها بشكل اكبر عند وضعك لنمط الشاشة الكاملة
فيمكنك إخفائها وإظهارها متى ما اردت


استفسار بخصوص تكبير الفورم - salah07230 - 19-11-2014

بارك الله فيكم جميعا