PDA

View Full Version : راست چین کردن pagecontrol



szabeh
یک شنبه 10 مهر 1384, 01:13 صبح
با تشکر از دوستان
آیا کسی میداند چگونه میتوان در pagcontrol تبها را راست چین کرد.
یعنی tabsheet ها از راست به چپ تراز شوند.

Touska
یک شنبه 10 مهر 1384, 08:09 صبح
می تونی از Mirror استفاده کنی ولی درست جواب نمی ده یا از SUipack فارسی استفاده کنی.

:)

szabeh
یک شنبه 10 مهر 1384, 15:17 عصر
با تشکر از آقا مصطفی.
اگه میشه بیشتر توضیح بدین.
ممنون

Touska
یک شنبه 10 مهر 1384, 15:34 عصر
یک تابع هست که یکی از بچه های سایت گذاسته بود :


const
WS_EX_NOINHERITLAYOUT = $00100000; // Disable inheritence of mirroring by children
WS_EX_LAYOUTRTL = $00400000; // Right to left mirroring

و


Procedure SetWinControlBiDi(Control: TWinControl);
Var
ExStyle: Longint;
Begin
ExStyle := GetWindowLong(Control.Handle, GWL_EXSTYLE);
SetWindowLong(Control.Handle, GWL_EXSTYLE, ExStyle OR WS_EX_RTLREADING OR WS_EX_RIGHT
OR WS_EX_LAYOUTRTL OR WS_EX_NOINHERITLAYOUT );
End;

اینو باید در onCreate فرم استفاده کنی و خوب جواب نمیده یا از کامپوننت فارسی Suipack

استفاده کنی.

MNosouhi
پنج شنبه 14 مهر 1384, 23:42 عصر
من معمولا برای حل این مشکل توی برنامه هام ، خاصیت TabWith مربوط به PageControl رو طوری مقدار دهی می کنم تا Tabها از هر دو طرف تنظیم بشن.
موفق باشی

Touska
جمعه 15 مهر 1384, 12:21 عصر
اینم فکر خوبی هست.

sql_qassem
دوشنبه 17 تیر 1387, 19:17 عصر
با تشکر از راهنمایی هاتون . اون کد جواب نمی ده .
یک روش اصولی باید وجود داشته باشه.

لطفا اگه کسی بلد راهنمایی کنه.

sql_qassem
دوشنبه 17 تیر 1387, 19:23 عصر
آقا کد بالا جواب داد ولی باید اینطوری استفاده بشه :
بعد از اینکه متغیر های ثابت و روال مورد نظر رو تعریف کردی باید oncreate فرم کد زیر رو بنویسی.

procedure TFmain.FormCreate(Sender: TObject);
begin
SetWinControlBiDi(PageControl1);
end;

sql_qassem
دوشنبه 17 تیر 1387, 20:21 عصر
هنوز مشکل دارد .
بعد از چند بار و حتی بعضی اوقات بعد از کی دوباره کلیک کردن tab ها قاطی می کند و محتویات برگه مورد نظر را نشان نمی دهد. اما وقتی که آن روال مورد نظر را در oncreate غیر فعال می کنی دوباره درست نشان می دهد و با مرور تب ها خراب نمی شود.

یکی کمک کنه !!!!!!

B-Vedadian
سه شنبه 18 تیر 1387, 08:42 صبح
PageControl خود دلفی کامل پیاده سازی نشده، این رو آقای کرامتی بهش اشاره کردند و راه حلش رو هم دادند، از پک های دیگه ای مثل Raize استفاده کنید (یا خودتون Page Control رو کامل پیاده سازی کنید).

parniant
دوشنبه 06 آبان 1387, 20:02 عصر
با سلام به آقای کشاورز می شه یک راه حل مناسب برای راست چین کردن تب شیت ها ارائه بدین ممنون می شم

ali_abbasi22145
سه شنبه 07 آبان 1387, 12:42 عصر
سلام
من اينكار را مي كنم طول tab ها را مثلا دو تا باشد نصف طول pagecontrol مي گيرم اگر 3 tab داري 3/1 طول pagecontrol و... و عالي جواب مي دهد.

parniant
سه شنبه 07 آبان 1387, 15:12 عصر
منظورتون رو نفهمیدم می شه توضیح کاملتری بدید ممنون