Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];

Вниз

SetWindowRgn   Найти похожие ветки 

 
anod   (2002-08-10 19:44) [0]

Почему-то не хочет работать.

function CreateRgnFromBitmap(rgnBitmap: Bitmap): HRGN;
type
TColor = -$7FFFFFFF-1..$7FFFFFFF;
var
transColor: TColor;
i, j: Integer;
width, height: Integer;
left, right: Integer;
rectRgn: HRGN;
begin
Result := 0;
width := rgnBitmap.bmWidth;
height := rgnBitmap.bmHeight;
transColor := GetPixel(main_bmp,width - 1, height - 1);
for i := 0 to height - 1 do
begin
left := -1;
for j := 0 to width - 1 do
begin
if left < 0 then
begin
if GetPixel(main_bmp,j, i) <> transColor then
left := j;
end
else
if GetPixel(main_bmp,j, i) = transColor then
begin
right := j;
rectRgn := CreateRectRgn(left, i, right, i + 1);
if Result = 0 then
Result := rectRgn
else
begin
CombineRgn(Result, Result, rectRgn, RGN_OR);
DeleteObject(rectRgn);
end;
left := -1;
end;
end;
if left >= 0 then
begin
rectRgn := CreateRectRgn(left, i, width, i + 1);
if Result = 0 then
Result := rectRgn
else
begin
CombineRgn(Result, Result, rectRgn, RGN_OR);
DeleteObject(rectRgn);
end;
end;
end;
end;
...
MainWnd:=InitInstance;
if (MainWnd = 0) then MessageBox(0, "Ошибка создания окна", nil, MB_OK)
else
begin
main_bmp:=LoadImage(0,PCHAR(ExtractFilePath(ParamStr(0)) + "skin\default\main.bmp"), IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
GetObject(main_bmp, SizeOf(Bitmap), @bmp);
Width:=bmp.bmWidth; Height:=bmp.bmHeight;
SetWindowPos(MainWnd,HWND_TOPMOST,20,0,Width,Height,SWP_NOZORDER);
SetWindowLong(MainWnd, GWL_STYLE, WS_SYSMENU or WS_TABSTOP
or WS_CLIPCHILDREN);
SetWindowRgn(MainWnd,CreateRgnFromBitmap(bmp),true);


 
anod   (2002-08-11 14:03) [1]


Странно, если поменять так
SetWindowRgn(MainWnd,CreateRgnFromBitmap(bmp),true);
SetWindowPos(MainWnd,HWND_TOPMOST,20,0,Width,Height,SWP_NOZORDER);
SetWindowLong(MainWnd, GWL_STYLE, WS_SYSMENU or WS_TABSTOP or WS_CLIPCHILDREN);
Вырисовывается caption окна, хотя при создпнии окна я не пишу WS_CAPTION



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

Форум: "WinAPI";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.009 c
6-85620
Керик
2002-07-16 04:25
2002.09.26
Подключение к интернету в WinXP


3-85415
ElectHp
2002-09-05 22:15
2002.09.26
Плиzzzz!!!!


1-85461
Schummi
2002-09-14 08:29
2002.09.26
Сохранить


1-85430
SoniK
2002-09-14 16:24
2002.09.26
****.exe


3-85379
Senia__
2002-09-05 10:55
2002.09.26
Список алиасов BDE и ODBC





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский