PDA

View Full Version : سوال: تراز بندی متن



nsco_nsco
سه شنبه 21 تیر 1390, 19:25 عصر
با سلام به دوستان
دوستان من مشکلی دارم با تراز بندی متن می خوام یک سری مطلب رو به صورت ترازبندی شده که همه حروف تراز باشن نه راستچین و نه چپ چین و نه وسط چین باشد و تراز باشد ممنون میشوم سریع یاری برسانید با تشکر :تشویق::قلب:

tdkhakpur
پنج شنبه 23 تیر 1390, 22:22 عصر
می خوام یک سری مطلب رو به صورت ترازبندی شده که همه حروف تراز باشن نه راستچین و نه چپ چین و نه وسط چین باشد و تراز باشد ممنون میشوم سریع یاری برسانید

یعنی اینکه مثلا حرف i همان فاصله ای رو بگیره که m میگیره؟

nsco_nsco
پنج شنبه 23 تیر 1390, 22:56 عصر
سلام ماجراش اینه که برای فارسی می خوام ممنون می شم کمک کنید.:قلب:

tdkhakpur
پنج شنبه 23 تیر 1390, 23:58 عصر
با استفاده از ExTextOut میتونید این کار رو انجام بدید به همان شکلی که word باعث میشه سطرهای یک صفحه تنظیم شده و زیر هم قرار بگیرند.
به راهنما نگاه کنید پارامترهاش هست.

nsco_nsco
جمعه 24 تیر 1390, 11:24 صبح
سلام ممنون از پاسختون ممنون میشم یکی مثلا بزنید مرسی :قلب:

tdkhakpur
جمعه 24 تیر 1390, 14:35 عصر
procedure TForm1.Button1Click(Sender: TObject);
var
hw : HWND;
dc : HDC;
str : string;
idx : array [1..80] of integer;
rect : TRECT;
begin
str := 'سلام بر همگي';
FillMemory(@idx[1], sizeof(idx), 0);
idx[1] := 70;
idx[2] := 20;
idx[3] := 80;
hw := GetDesktopWindow;
GetWindowRect(hw , rect);
dc := GetWindowDC(hw);
ExtTextOut(dc, 10, 10, ETO_CLIPPED, @rect, pchar(str), StrLen(@str[1]), @idx[1]);
ReleaseDC(hw, dc);
end;

nsco_nsco
جمعه 24 تیر 1390, 21:53 عصر
سلام ممنون از پاسختون مممنون می شوم یک توضیحی بهم بدید راجبه برنامه ممنون :قلب:

tdkhakpur
جمعه 24 تیر 1390, 23:33 عصر
مممنون می شوم یک توضیحی بهم بدید راجبه برنامه

خب اجراش که نشون میده مثلا داخل word وقتی بخواهید اندازه سطرها رو به یک تراز مشخص برسانید با کد فوق میتوانید رشته رو در خروجی بیارید مثلا بزرکترین سطر طولش میشه 520 پیکسل برای اینکه سایر سطرها رو به همین اندازه دربیارد کد فوق رو به رشته یا سطرهای دیگه اعمال میکنید تا اندازه یکسان بشه.البته طول قبلی رشته به اضافه عدد بعدی که بهش میدید باید در مثال فوق بشه 520 تا بیشتر از حد نشه.