Чтение онлайн

на главную

Жанры

Советы по Delphi. Версия 1.4.3 от 1.1.2001

Озеров Валентин

Шрифт:

2. То же самое, что делает макрос «Search» для WinHelp-а.

procedure TForm1.HelpSearchFor;

var S: String;

begin

 S := '';

 Application.HelpFile := 'C:\MYAPPPATH\MYHELP.HLP';

 Application.HelpCommand(HELP_PARTIALKEY, LongInt(@S));

end;
 

Как

заставить Help-файлы нормально отображать русский текст под Windows 3.x?

Nomadic советует:

Удалось вылечить дописыванием в файл проекта в графу Options строчки FORCEFONT=Arial Cyr, причем HC31 ругается что нет такого шрифта, но зато хелп потом нормально показывается практически под любой руссифицированной виндой.

Проверял с [Win31+CyrWin], [Win311Rus], [Win95PE], [Win95Rus].

На NT не проверял.

Причем шрифты в тексте ноомально переключаются и будут не только Arial.

Вот кусок который надо вставить в HPJ файл перед компиляцией –

[OPTIONS]

FORCEFONT=Arial Cyr

Графика 

256-цветное изображение из res-файла

Вот функция, правильно читающая 256-цветные изображения из файла ресурсов.

function LoadBitmap256(hInstance: HWND; lpBitmapName: PChar): HBITMAP;

var

 hPal, hRes, hResInfo: THandle;

 pBitmap: PBitmapInfo;

 nColorData: Integer;

 pPalette: PLogPalette;

 X: Integer;hPalette: THandle;

begin

 hResInfo:= FindResource(hInstance, lpBitmapName, RT_BITMAP);

 hRes:= LoadResource(hInstance, hResInfo);

 pBitmap:= Lockresource(hRes);

 nColorData:= pBitmap^.bmiHeader.biClrUsed;

 hPal := GlobalAlloc(GMEM_MOVEABLE, (16 * nColorData));

 {hPal := GlobalAlloc(GMEM_MOVEABLE, (SizeOf(LOGPALETTE) + (nColorData * SizeOf(PALETTEENTRY)));}

 pPalette := GlobalLock(hPal);

 pPalette^.palVersion := $300;

 pPalette^.palNumEntries := nColorData;

 for x := 0 to nColorData do begin

pPalette^.palPalentry[X].peRed := pBitmap^.bmiColors[X].rgbRed;

pPalette^.palPalentry[X].peGreen := pBitmap^.bmiColors[X].rgbGreen;

pPalette^.palPalentry[X].peBlue := pBitmap^.bmiColors[X].rgbBlue;

 end;

 hPalette := CreatePalette(pPalette^);

 GlobalUnlock(hRes);

 GlobalUnlock(hPal);

 GlobalFree(hPal);

end;

end.

– Mark Lussier 

Как

записать содержимое окна OpenGL в 'bmp' файл?

Nomadic советует:

Вот что попробовал – вроде получилось:

bt := TBitmap.Create;

bt.Width := gr.Width;

bt.Height := gr.Height;

bt.Canvas.CopyRect(ClientRect, gr.Canvas, gr.ClientRect);

bt.SaveToFile('e:\bt.bmp');

bt.Free;

(gr – объект, в канве которого я рисую с помощью OpenGL)

Как создать disable'ный битмап из обычного (emboss etc)?

Nomadic советует:

CreateMappedBitmap :-)

Один из параметров указатель на COLORMAP, в нем для 16 основных цветов делаешь перекодировку, цвета подберешь сам из принципа:

• все самые яркие → в GetSysColor(COLOR_3DLIGHT);

• самые темные → GetSysColor(COLOR_3DSHADOW);

• нейтральные, которые бyдyт прозрачными → GetSysColor(COLOR_3DFACE);

Так на самом деле вот как делается данная задача:

procedure Tform1.aaa(bmpFrom, bmpTo:Tbitmap);

var

 TmpImage,Monobmp:TBitmap;

 IRect:TRect;

begin

 MonoBmp := TBitmap.Create;

 TmpImage:=Tbitmap.Create;

 TmpImage.Width := bmpFrom.Width;

 TmpImage.Height := bmpFrom.Height;

 IRect := Rect(0, 0, bmpFrom.Width, bmpFrom.Height);

 TmpImage.Canvas.Brush.Color := clBtnFace;

 try

with MonoBmp do begin

Assign(bmpFrom);

Canvas.Brush.Color := clBlack;

if Monochrome then begin

Canvas.Font.Color := clWhite;

Monochrome := False;

Canvas.Brush.Color := clWhite;

end;

Monochrome := True;

end;

with TmpImage.Canvas do begin

Brush.Color := clBtnFace;

FillRect(IRect);

Brush.Color := clBlack;

Font.Color := clWhite;

CopyMode := MergePaint;

Draw(IRect.Left + 1, IRect.Top + 1, MonoBmp);

Поделиться:
Популярные книги

Лорд Системы 12

Токсик Саша
12. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 12

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Инферно

Кретов Владимир Владимирович
2. Легенда
Фантастика:
фэнтези
8.57
рейтинг книги
Инферно

Нефилим

Демиров Леонид
4. Мания крафта
Фантастика:
фэнтези
боевая фантастика
рпг
7.64
рейтинг книги
Нефилим

Девятое правило дворянина

Герда Александр
9. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Девятое правило дворянина

Странник

Седой Василий
4. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Странник

Тринадцатый II

NikL
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый II

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Кодекс Охотника. Книга XXV

Винокуров Юрий
25. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга XXV

Рядовой. Назад в СССР. Книга 1

Гаусс Максим
1. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Рядовой. Назад в СССР. Книга 1

Счастливый торт Шарлотты

Гринерс Эва
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Счастливый торт Шарлотты

Отмороженный 3.0

Гарцевич Евгений Александрович
3. Отмороженный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Отмороженный 3.0

Огни Аль-Тура. Завоеванная

Макушева Магда
4. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.00
рейтинг книги
Огни Аль-Тура. Завоеванная

Жребий некроманта 3

Решетов Евгений Валерьевич
3. Жребий некроманта
Фантастика:
боевая фантастика
5.56
рейтинг книги
Жребий некроманта 3