PDA

View Full Version : تغییر فونت کاپشن



khoshblagh
یک شنبه 08 دی 1392, 18:20 عصر
با سلام
کجا میتونم فونت کاپشن را تغییر دهم ؟ متشکرم

یوسف زالی
یک شنبه 08 دی 1392, 23:22 عصر
سلام.
کپشن کی؟
معمولا با تغییر فونت یک شی کپشنش هم در صورت وجود تغییر می کنه.

khoshblagh
سه شنبه 10 دی 1392, 18:37 عصر
سلام.
کپشن کی؟
معمولا با تغییر فونت یک شی کپشنش هم در صورت وجود تغییر می کنه.
منظور کاپشن فرم (نوار بالای فرم) میباشد. مشکل اینه در برنامه در یک رایانه کاپشن فرمهابه صورت علامت سئوال (؟؟؟؟) نشان میده ولی در بقیه رایانه ها درست نشان میدهد. من تنظیمات آن رایانه ای که عبارت کاپشن را به صورت ؟ نشان میدهد را کنترل نمودم. تنظیمات دقیقا برای فارسی و ایران میباشد. فکر کردم شاید از عدم وجود فونت مورد نظر در رایانه باشد. برای همین دنبال ست کردن فونت احتمالی میباشم. متشکرم

SayeyeZohor
سه شنبه 10 دی 1392, 22:53 عصر
منظور کاپشن فرم (نوار بالای فرم) میباشد. مشکل اینه در برنامه در یک رایانه کاپشن فرمهابه صورت علامت سئوال (؟؟؟؟) نشان میده ولی در بقیه رایانه ها درست نشان میدهد. من تنظیمات آن رایانه ای که عبارت کاپشن را به صورت ؟ نشان میدهد را کنترل نمودم. تنظیمات دقیقا برای فارسی و ایران میباشد. فکر کردم شاید از عدم وجود فونت مورد نظر در رایانه باشد. برای همین دنبال ست کردن فونت احتمالی میباشم. متشکرم


نوع ویندوز ؟

حتماً مشکل از تنظیمات Region سیستمه :چشمک:

khoshblagh
سه شنبه 10 دی 1392, 23:26 عصر
نوع ویندوز ؟

حتماً مشکل از تنظیمات Region سیستمه :چشمک:
ویندوز xp اما من تنظیمات Region را چک کردم. ولی جهت اطمینان بیشتر مجددا چک خواهم کرد.

khoshblagh
یک شنبه 15 دی 1392, 09:27 صبح
ویندوز xp اما من تنظیمات Region را چک کردم. ولی جهت اطمینان بیشتر مجددا چک خواهم کرد.
مجددا چک کردم و همچنان مشکل حل نشده است.:افسرده:

tdkhakpur
یک شنبه 15 دی 1392, 11:55 صبح
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
procedure WMNCPaint(var Msg: TWMNCPaint); message WM_NCPAINT;
end;

var Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.WMNCPaint(var Msg: TWMNCPaint);
var
ACanvas: TCanvas;
intLeftShift, intTopShift: Integer;
begin
inherited;

ACanvas := TCanvas.Create;
try

ACanvas.Handle := GetWindowDC(Form1.Handle);
with ACanvas do
begin
Brush.Color := clActiveCaption;
Font.Style := [fsItalic];


intLeftShift := GetSystemMetrics(SM_CYMENU) + GetSystemMetrics(SM_CXBORDER);

intTopShift := (GetSystemMetrics(SM_CYCAPTION) - Abs(Font.Height)) div 2 + 1;


TextOut(intLeftShift, intTopShift, Caption)
end;
finally
ReleaseDC(Form1.Handle, ACanvas.Handle);
ACanvas.Free
end;
end;
end.

tdkhakpur
یک شنبه 15 دی 1392, 12:13 عصر
مجددا چک کردم و همچنان مشکل حل نشده است.:افسرده:
مشکل از ویندوز نیست اشکال از پلتفرمی هست که برنامه رو طراحی کرده اید یا به زبان ساده تر دلفی که ازش استفاده کردید از یونیکد حمایت نمیکنه بنابر این به جای اینکه فونتها رو در دو بایت ذخیره کنه داخل یک بایت ذخیره کرده.
از دلفی 2009 به بعد استفاده کنید تا دیگه از این مشکلها نداشته باشید
یه درصد کمی هم میتونه از نوع فونت استفاده شده شما باشه که الان داخل ویندوزنات پیدا نمیشه.

khoshblagh
دوشنبه 16 دی 1392, 00:11 صبح
مشکل از ویندوز نیست اشکال از پلتفرمی هست که برنامه رو طراحی کرده اید یا به زبان ساده تر دلفی که ازش استفاده کردید از یونیکد حمایت نمیکنه بنابر این به جای اینکه فونتها رو در دو بایت ذخیره کنه داخل یک بایت ذخیره کرده.
از دلفی 2009 به بعد استفاده کنید تا دیگه از این مشکلها نداشته باشید
یه درصد کمی هم میتونه از نوع فونت استفاده شده شما باشه که الان داخل ویندوزنات پیدا نمیشه.
من از فونت TOHOMA در فرم استفاده میکنم. جالب است که lable و editbox استفاده شده در فرم بدرستی نشان داده میشود ولی کاپشن فرم همچنان ؟؟؟؟؟ میباشد!

یوسف زالی
دوشنبه 16 دی 1392, 11:10 صبح
ممکنه فایل DFM شما آسیب دیده باشه. کپشن رو دوباره بنویسید ببینید دوباره با فونتی که در لیبل دارید هم سوال سوال می شه؟

khoshblagh
دوشنبه 16 دی 1392, 18:36 عصر
ممکنه فایل DFM شما آسیب دیده باشه. کپشن رو دوباره بنویسید ببینید دوباره با فونتی که در لیبل دارید هم سوال سوال می شه؟
ولی این برنامه در سایر رایانه های همان واحد به طرز صحیح فونت کاپشن را نمایش میدهد. پس فایل DFM نباید مشکلی داشته باشد.