نمایش نتایج 1 تا 12 از 12

نام تاپیک: شکل فرم

  1. #1

    شکل فرم

    سلام
    چگونه می توانیم شکل فرم را عوض کنیم
    مثلا شکل فرم مثل یک برگ باشد


    خیلی متشکرم

  2. #2
    سلام

    این کد رو نگاه کن.

    procedure TForm1.FormCreate(Sender: TObject);
    Var
    p: Array[0..7] of TPoint;
    Rgn: Hrgn;
    begin
    color := clBlack;

    p[0].x := 20; p[0].y := 20;
    p[1].x := 170; p[1].y := 120;
    p[2].x := 320; p[2].y := 20;
    p[3].x := 220; p[3].y := 170;
    p[4].x := 320; p[4].y := 320;
    p[5].x := 170; p[5].y := 220;
    p[6].x := 20; p[6].y := 320;
    p[7].x := 120; p[7].y := 170;

    Rgn := CreatePolygonRgn(p,8,ALTERNATE);
    setwindowrgn(form1.Handle,Rgn,True);
    end;


    برای شکلهای دیگه هم باید بتونی یه region مناسب تعریف کنی. 8)

  3. #3
    یعنی چی؟

  4. #4
    بنیان گذار Barnamenevis آواتار مهدی کرامتی
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    کرج، گلشهر
    سن
    46
    پست
    6,379
    در ویندوز یک تابع API بنام setwindowrgn وجود دارد که میتواند فرم شما را بشکلهای مختلفی که شما تعریف میکنید در آورد.

    نکته در اینستکه شما ابتدا باید شکل موردنظر را با استفاده از توابعی مانند CreatePolygonRgn (که خود این تابع شکل ورودی را از یک ساختار آرایه‌ای مانند p در مثال فوق دربافت میکند) تعریف کنید.

    کد فوق را در برنامه‌تان (در واقعه FormCreate فرم اصلی) قرار دهید و نتیجه را در عمل ببینید.

  5. #5
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    28
    دوست عزیز شما می توانی شکل دلخواه را به صورت یک تصویر بر روی فرم قرار دهی و رنگ فرمت را مثلا سفید کنی سپس در قسمت خواص فرم ویزیبل رنگ مربوطه را true کنی اگز این کار درست انجام دهی در هنگام run کردن شکل فرمت به صورت تصویر انتخابی در می آید
    8)

  6. #6
    دوست عزیز Betanam ، میشه کمی توضیح بدی ویزیبل رنگ مربوطه یعنی چی؟ مگه برای هر رنگ خاصیت ویزیبل جدا داریم؟

  7. #7
    سلام

    دوست عزیز آقای Betanam تا اونجا که من میدونم روش ایجاد یه فرم به شکل یه تصویر اینه که ناحیه های متعددی تعریف شه و بعد اونا با هم Combine بشن. در مورد روشی که فرمودید هر چی گشتم به جایی نرسیدم. :roll: اگه سورس کد یا مرجعی در اختیار دارید لطفا ارائه بدید. ( یا اقلا کمی توضیح بیشتر...)

  8. #8
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran - Tehran
    پست
    799
    نمیدونم چطوری تا به حال این پراپرتی رو در فرم ها ندیده بودم ، ولی به هر حال خیلی روش جالبی بود !
    دردسر های کار با RegionAPIs رو هم نداشت .
    منظور ایشون این بود که UseTransparentColor رو true کنید و بعد یه رنگ رو به عنوان TranparentColor معرفی کنید.
    بعد پس زمینه فرم رو به اون رنگ ماسکه شده تغییر بدید .

  9. #9
    آفرین :wink:

    خیلی جالب بود.

  10. #10
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    28
    دقیقا منظور من همان بود که ذکر کردید

  11. #11
    این خاصیت در ویندوز 98 کار نمی کنه اینطور نیست !؟

  12. #12
    سلام
    خیلی متشکرم
    خیلی خوب بود

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •