Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: CL | DM;

Вниз

Проблема с регионом   Найти похожие ветки 

 
Kolan ©   (2004-09-27 21:23) [0]

Здравствуйте,
Нашел пример с регионом. Делаю свой регион квадрат на белом фоне. Но при запуске форма окна соответствует квадрату а сам квадрат почемуто сдвинут вниз и вправо.


 
Kolan ©   (2004-09-27 22:28) [1]

Вот исходник не молчите:


function BitmapToRegion(Bitmap: TBitmap; TransColor: TColor): HRGN;
var X, Y,k: Integer;
   XStart: Integer;
begin
Result := 0;
Bitmap.width;
Bitmap.height;
with Bitmap do
for Y := 0 to Height - 1 do
 begin
  X := 0;
  while X < Width do
   begin
    // &#207;&#240;&#238;&#239;&#243;&#241;&#234;&#224;&#229;&#236; &#239;&#240;&#238;&#231;&#240;&#224;&#247;&#237;&#251;&#229; &#242;&#238;&#247;&#234;&#232;

    while (X < Width) and (Canvas.Pixels[X, Y] = TransColor) do
     Inc(X);
     if X >= Width then
     Break;
     XStart := X;
    // &#207;&#240;&#238;&#239;&#243;&#241;&#234;&#224;&#229;&#236; &#237;&#229;&#239;&#240;&#238;&#231;&#240;&#224;&#247;&#237;&#251;&#229; &#242;&#238;&#247;&#234;&#232;
    while (X < Width) and (Canvas.Pixels[X, Y] <> TransColor) do
     Inc(X);
     // &#209;&#238;&#231;&#228;&#224;&#184;&#236; &#237;&#238;&#226;&#251;&#233; &#239;&#240;&#255;&#236;&#238;&#243;&#227;&#238;&#235;&#252;&#237;&#251;&#233; &#240;&#229;&#227;&#232;&#238;&#237; &#232; &#228;&#238;&#225;&#224;&#226;&#235;&#255;&#229;&#236; &#229;&#227;&#238; &#234;
     // &#240;&#229;&#227;&#232;&#238;&#237;&#243; &#226;&#241;&#229;&#233; &#234;&#224;&#240;&#242;&#232;&#237;&#234;&#232;
     if Result = 0 then
      Result := CreateRectRgn(XStart, Y, X, Y + 1)
    else
      CombineRgn(Result, Result,
      CreateRectRgn(XStart, Y, X, Y + 1), RGN_OR);
    end;
 end;
end;

{***}

procedure TForm1.FormCreate(Sender: TObject);
Var RGN : HRGN;
begin
// &#241;&#238;&#231;&#228;&#224;&#229;&#236; &#240;&#229;&#227;&#232;&#238;&#237; &#228;&#235;&#255; &#234;&#224;&#240;&#242;&#232;&#237;&#234;&#232;
RGN:= BitmapToRegion(Image1.Picture.Bitmap, clWhite);
// &#243;&#241;&#242;&#224;&#237;&#224;&#226;&#235;&#232;&#226;&#224;&#229;&#236; &#237;&#238;&#226;&#251;&#233; &#240;&#229;&#227;&#232;&#238;&#237; &#228;&#235;&#255; &#234;&#224;&#240;&#242;&#232;&#237;&#234;&#232;
SetWindowRgn(Form1.Handle, RGN, True); // &#226;&#242;&#238;&#240;&#238;&#233; &#239;&#224;&#240;&#224;&#236;&#229;&#242;&#240; &#226;&#241;&#229;&#227;&#228;&#224; &#240;&#224;&#226;&#229;&#237; True
end;



 
Kolan ©   (2004-09-28 00:14) [2]

Сам шучу сам смеюсь сам себе опладирую BorderStyle=bsNone



Страницы: 1 вся ветка

Текущий архив: 2004.10.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.067 c
3-1096527989
Виктор
2004-09-30 11:06
2004.10.31
Keyfields с двумя полями в Lookup поле.


14-1096035912
ceval
2004-09-24 18:25
2004.10.31
Подскажите компанент


3-1096969715
Lord de Mon
2004-10-05 13:48
2004.10.31
Copy


1-1098106297
Pentium133
2004-10-18 17:31
2004.10.31
Сообщение WM_VSCROLL и пр...


3-1096467118
tchainik
2004-09-29 18:11
2004.10.31
Проблема UDF в Interbase 6.0