Главная страница
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.024 c
9-1088678971
Proger
2004-07-01 14:49
2004.10.31
Загрузка растра


1-1098205530
Sirruf
2004-10-19 21:05
2004.10.31
Alignment in TEdit


3-1096863704
DeepSky
2004-10-04 08:21
2004.10.31
Delphi+InterBase+Apache(или другой Web-сервер)


14-1096643463
Lord de Mon
2004-10-01 19:11
2004.10.31
Где взять исходники?


1-1097573897
Natryb
2004-10-12 13:38
2004.10.31
Поворот текста в отчете