Главная страница
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.034 c
14-1097473967
Rule
2004-10-11 09:52
2004.10.31
вопрос про .NET Framework mobile &amp; Windows Mobile 2003


14-1097237652
Ищу
2004-10-08 16:14
2004.10.31
Сумма прописью в excel


3-1096955821
Submarine
2004-10-05 09:57
2004.10.31
SQL редактор


1-1097831762
П7
2004-10-15 13:16
2004.10.31
Высота текста с переносами


1-1097776898
Viper
2004-10-14 22:01
2004.10.31
ФАЙЛЫ