Форум: "WinAPI";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизПроблема с регионом Найти похожие ветки
← →
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
// Ïðîïóñêàåì ïðîçðà÷íûå òî÷êè
while (X < Width) and (Canvas.Pixels[X, Y] = TransColor) do
Inc(X);
if X >= Width then
Break;
XStart := X;
// Ïðîïóñêàåì íåïðîçðà÷íûå òî÷êè
while (X < Width) and (Canvas.Pixels[X, Y] <> TransColor) do
Inc(X);
// Ñîçäà¸ì íîâûé ïðÿìîóãîëüíûé ðåãèîí è äîáàâëÿåì åãî ê
// ðåãèîíó âñåé êàðòèíêè
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
// ñîçäàåì ðåãèîí äëÿ êàðòèíêè
RGN:= BitmapToRegion(Image1.Picture.Bitmap, clWhite);
// óñòàíàâëèâàåì íîâûé ðåãèîí äëÿ êàðòèíêè
SetWindowRgn(Form1.Handle, RGN, True); // âòîðîé ïàðàìåòð âñåãäà ðàâåí True
end;
← →
Kolan © (2004-09-28 00:14) [2]Сам шучу сам смеюсь сам себе опладирую BorderStyle=bsNone
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c