forked from KolibriOS/kolibrios
HTMLv 0.92: basic menu RMB, downloader spike v2.0, code cleaning
git-svn-id: svn://kolibrios.org@2764 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
014a5bcd70
commit
ddda560478
@ -24,21 +24,22 @@ char URL[4096],
|
|||||||
int max_kolvo_strok, //lines_visible
|
int max_kolvo_strok, //lines_visible
|
||||||
max_kolvo_stolbcov,
|
max_kolvo_stolbcov,
|
||||||
count, //lines_all
|
count, //lines_all
|
||||||
za_kadrom,
|
za_kadrom, //lines_first
|
||||||
mouse_dd;
|
mouse_dd;
|
||||||
|
|
||||||
edit_box edit1= {250,207,16,0xffffff,0x94AECE,0xffffff,0xffffff,0,248,#editURL,#mouse_dd,2,19,19};
|
edit_box edit1= {250,207,16,0xffffff,0x94AECE,0xffffff,0xffffff,0,248,#editURL,#mouse_dd,2,19,19};
|
||||||
scroll_bar scroll1 = { 18,200,398, 44,18,0,115,15,0,0xeeeeee,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}; //details in scroll_lib.h--
|
scroll_bar scroll1 = { 18,200,398, 44,18,0,115,15,0,0xeeeeee,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}; //details in scroll_lib.h--
|
||||||
|
|
||||||
proc_info Form;
|
proc_info Form;
|
||||||
|
dword stak[100]; //ìåíþ ÏÊÌ
|
||||||
|
mouse m;
|
||||||
|
|
||||||
#include "TWB.h"
|
#include "TWB.h"
|
||||||
|
#include "include\menu_rmb.h"
|
||||||
|
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
mouse m;
|
|
||||||
int btn;
|
int btn;
|
||||||
byte key;
|
byte key;
|
||||||
int scroll_size;
|
int scroll_size;
|
||||||
@ -51,17 +52,14 @@ void main()
|
|||||||
|
|
||||||
if (param) copystr(#param,#URL);
|
if (param) copystr(#param,#URL);
|
||||||
else copystr("/sys/index.htm",#URL);
|
else copystr("/sys/index.htm",#URL);
|
||||||
|
|
||||||
copystr(#URL,#editURL);
|
copystr(#URL,#editURL);
|
||||||
|
|
||||||
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
OpenPage();
|
||||||
//Draw_Window(); //shis is right
|
|
||||||
//WB1.ShowPage(#URL); //shis is right
|
|
||||||
|
|
||||||
SetEventMask(0x27);
|
SetEventMask(0x27);
|
||||||
loop()
|
loop()
|
||||||
{
|
{
|
||||||
WaitEventTimeout(1);
|
WaitEventTimeout(2);
|
||||||
switch(EAX & 0xFF)
|
switch(EAX & 0xFF)
|
||||||
{
|
{
|
||||||
CASE evMouse:
|
CASE evMouse:
|
||||||
@ -74,8 +72,17 @@ void main()
|
|||||||
WB1.ParseHTML(buf, filesize);
|
WB1.ParseHTML(buf, filesize);
|
||||||
//break;
|
//break;
|
||||||
};*/
|
};*/
|
||||||
|
btn=GetSlot(Form.ID);
|
||||||
|
IF (btn<>ActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì
|
||||||
|
|
||||||
m.get();
|
m.get();
|
||||||
|
|
||||||
|
if (m.pkm) && (m.y>WB1.top) && (m.y<Form.height) && (filesize)
|
||||||
|
{
|
||||||
|
CreateThread(#menu_rmb,#stak);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
IF (m.vert==65535) //ïðîêðóòêà êîë¸ñèêîì
|
IF (m.vert==65535) //ïðîêðóòêà êîë¸ñèêîì
|
||||||
{
|
{
|
||||||
IF (za_kadrom==0) break;
|
IF (za_kadrom==0) break;
|
||||||
@ -120,12 +127,12 @@ void main()
|
|||||||
{
|
{
|
||||||
WB1.Scan(btn);
|
WB1.Scan(btn);
|
||||||
}
|
}
|
||||||
BREAK;
|
break;
|
||||||
case evKey:
|
case evKey:
|
||||||
key = GetKey();
|
key = GetKey();
|
||||||
WB1.Scan(key);
|
WB1.Scan(key);
|
||||||
IF (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} //àäðåñíàÿ ñòðîêà
|
IF (key<>0x0d) && (key<>183) && (key<>184) && (key<>173) {EAX=key<<8; edit_box_key stdcall(#edit1);} //àäðåñíàÿ ñòðîêà
|
||||||
BREAK;
|
break;
|
||||||
case evReDraw:
|
case evReDraw:
|
||||||
Draw_Window();
|
Draw_Window();
|
||||||
break;
|
break;
|
||||||
@ -134,7 +141,10 @@ void main()
|
|||||||
{
|
{
|
||||||
if (GetProcessSlot(downloader_id)<>0) break;
|
if (GetProcessSlot(downloader_id)<>0) break;
|
||||||
downloader_id=0;
|
downloader_id=0;
|
||||||
|
ReadHtml();
|
||||||
|
if (filesize) wintodos(buf);
|
||||||
Draw_Window();
|
Draw_Window();
|
||||||
|
//WB1.ShowPage(#URL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -168,14 +178,13 @@ void Draw_Window()
|
|||||||
DrawRegion(206,15,onLeft(59,205),16,0xE4ECF3);
|
DrawRegion(206,15,onLeft(59,205),16,0xE4ECF3);
|
||||||
|
|
||||||
edit1.width=Form.width-266;
|
edit1.width=Form.width-266;
|
||||||
//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà //shis is right
|
|
||||||
|
|
||||||
WB1.top=44;
|
WB1.top=44;
|
||||||
WB1.width=Form.width-13;
|
WB1.width=Form.width-13;
|
||||||
WB1.height=onTop(43,5);
|
WB1.height=onTop(43,5);
|
||||||
WB1.ShowPage(#URL);
|
max_kolvo_stolbcov = WB1.width - 30 / 6;
|
||||||
|
max_kolvo_strok = WB1.height - 3 / 10 - 2;
|
||||||
|
|
||||||
//WB1.ParseHTML(buf, filesize); //shis is right
|
WB1.ShowPage(#URL);
|
||||||
}
|
}
|
||||||
|
|
||||||
int onLeft(dword right,left) {return Form.width-right-left;}
|
int onLeft(dword right,left) {return Form.width-right-left;}
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
13.06.12 -- v0.92
|
||||||
|
- базовое меню ПКМ;
|
||||||
|
- убрана постоянная загрузка страницы при перерисовке окна;
|
||||||
|
- костыли версии 2.0 для работы с downloader'ом;
|
||||||
|
- разделение кода загрузки и отображения страницы: часть 1.
|
||||||
|
|
||||||
04.06.12 -- v0.90
|
04.06.12 -- v0.90
|
||||||
- новый скроллбар из box_lib (спасибо lev);
|
- новый скроллбар из box_lib (спасибо lev);
|
||||||
- нормальная загрузка страниц без скидывания фокуса с окна;
|
- нормальная загрузка страниц без скидывания фокуса с окна;
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
==О программе HTMLv==
|
|
||||||
HTMLv - это текстовый браузер, а так же просмотровщик веб-страниц. Пока что
|
|
||||||
поддерживает только форматирование текста с некоторыми вложеными параметрами.
|
|
||||||
Программа написана на языке C--. В нём можно писать программы, как на Си, так и на асме, притом их там удобно совмещать.
|
|
||||||
Обсуждение программы здесь:
|
|
||||||
http://board.kolibrios.org/viewtopic.php?f=9&t=1075
|
|
||||||
|
|
||||||
|
|
||||||
==Установка==
|
|
||||||
Сама программа может быть запущена откуда угодно. Для работы с Интернетом необходим downloader.
|
|
||||||
|
|
||||||
|
|
||||||
==Интернет==
|
|
||||||
Если ваша сетевая карта не поддерживается Колибри нативно - не беда:
|
|
||||||
она поддерживается в Qemu и VirtualBox.
|
|
||||||
|
|
||||||
|
|
||||||
==Проблемы==
|
|
||||||
Отписывайтесь в теме, если что-то не так. Ссылка выше.
|
|
||||||
|
|
||||||
==Авторы==
|
|
||||||
Leency - разработка, дизайн.
|
|
||||||
Asper - код работы с библиотеками Колибри, поддержка изображений, UTF-8.
|
|
||||||
Veliant - автор программы-предшественника, помощь, советы.
|
|
||||||
Barsuk - программа downloader, код работы с ней.
|
|
||||||
Lrz - компонент EditBox.
|
|
||||||
Nable - оптимизации.
|
|
||||||
lev - оптимизации, некоторые доработки.
|
|
@ -1,6 +1,3 @@
|
|||||||
//èäåÿ - ëåâûå ôàéëû îòêðûâàòü ñîîòâåòñòâóþùèìè ïðîãàìè
|
|
||||||
//ol - öèôåðêè
|
|
||||||
|
|
||||||
|
|
||||||
int downloader_id;
|
int downloader_id;
|
||||||
|
|
||||||
@ -11,9 +8,8 @@ dword j,
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
char download_path[]="/rd/1/.download";
|
char download_path[]="/rd/1/.download";
|
||||||
//char search_path[]="http://nova.rambler.ru/search?words=";
|
|
||||||
char search_path[]="http://nigma.ru/index.php?s=";
|
char search_path[]="http://nigma.ru/index.php?s=";
|
||||||
char version[]=" Text-based Browser 0.9b";
|
char version[]=" Text-based Browser 0.92";
|
||||||
|
|
||||||
|
|
||||||
struct TWebBrowser {
|
struct TWebBrowser {
|
||||||
@ -56,20 +52,15 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
if (id > 399)
|
if (id > 399)
|
||||||
{
|
{
|
||||||
GetURLfromPageLinks(id);
|
GetURLfromPageLinks(id);
|
||||||
|
|
||||||
//ýòó âñþ õðåíü íóæíî â GetNewUrl() ïåðåìåñòèòü
|
//ýòó âñþ õðåíü íóæíî â GetNewUrl() ïåðåìåñòèòü
|
||||||
IF (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî...
|
if (URL[0] == '#') { //ìû íå óìååì ïåðåõîäèòü ïî ññûëêå âíóòðè äîêóìåíòà. Ïîêà ÷òî...
|
||||||
copystr(BrowserHistory.CurrentUrl(), #editURL);
|
copystr(BrowserHistory.CurrentUrl(), #editURL);
|
||||||
copystr(#URL, #editURL + strlen(#editURL));
|
copystr(#URL, #editURL + strlen(#editURL));
|
||||||
|
|
||||||
//edit1.size = edit1.pos = strlen(#editURL);
|
|
||||||
//edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
|
||||||
|
|
||||||
copystr(BrowserHistory.CurrentUrl(), #URL);
|
copystr(BrowserHistory.CurrentUrl(), #URL);
|
||||||
ShowPage(#URL);
|
ShowPage(#URL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, ëó÷øå, ÷åì íè÷åãî (õàáð, íàïðèìåð, áóäåò ðàáîòàòü) //ýòî íå ñîâñåì ïðàâèëüíî - â åäèòóðë äîëæíî îñòàâàòüñÿ
|
URL[find_symbol(#URL, '#')-1] = 0x00; //çàãëóøêà, íî ýòî íå ñîâñåì ïðàâèëüíî - â åäèòóðë äîëæíî îñòàâàòüñÿ
|
||||||
|
|
||||||
GetNewUrl();
|
GetNewUrl();
|
||||||
|
|
||||||
@ -116,9 +107,7 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
Draw_Window();
|
Draw_Window();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
copystr(#URL, #editURL);
|
OpenPage(); //îò ñåðäöà îòðûâàþ, çäåñü íóæíî za_kadrom ñòàðîå
|
||||||
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
|
||||||
ShowPage(#URL);
|
|
||||||
return;
|
return;
|
||||||
case 014: //Ctrl+N íîâîå îêíî
|
case 014: //Ctrl+N íîâîå îêíî
|
||||||
case 020: //Ctrl+T íîâàÿ âêëàäêà
|
case 020: //Ctrl+T íîâàÿ âêëàäêà
|
||||||
@ -177,15 +166,7 @@ void TWebBrowser::Scan(dword id) {
|
|||||||
ParseHTML(buf, filesize);
|
ParseHTML(buf, filesize);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenPage()
|
|
||||||
{
|
|
||||||
if (GetProcessSlot(downloader_id)<>0) PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal);
|
|
||||||
KillProcess(downloader_id);
|
|
||||||
copystr(#URL, #editURL);
|
|
||||||
za_kadrom = count = 0;
|
|
||||||
if (!strcmp(get_URL_part(5),"http:"))) HttpLoad();
|
|
||||||
WB1.ShowPage(#URL);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GetNewUrl(){
|
void GetNewUrl(){
|
||||||
IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+2,#URL); //èãíîðèì :)
|
IF (!strcmp(get_URL_part(2),"./")) copystr(#URL+2,#URL); //èãíîðèì :)
|
||||||
@ -216,23 +197,6 @@ void GetNewUrl(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void HttpLoad()
|
|
||||||
{
|
|
||||||
//count = 0; ÿ äóìàþ åìó ìåñòî çäåñü
|
|
||||||
copystr(#version, #header);
|
|
||||||
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ
|
|
||||||
DeleteFile(#download_path);
|
|
||||||
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]='';
|
|
||||||
downloader_id = RunProgram("/sys/network/downloader", #URL);
|
|
||||||
//ýòî ãåíèàëüíî è ýòî ïèçäåö!!!
|
|
||||||
Pause(60);
|
|
||||||
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ
|
|
||||||
downloader_id = RunProgram("/sys/network/downloader", #URL);
|
|
||||||
//
|
|
||||||
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable.");
|
|
||||||
Draw_Window();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ReadHtml()
|
void ReadHtml()
|
||||||
{
|
{
|
||||||
@ -242,7 +206,8 @@ void ReadHtml()
|
|||||||
file_size stdcall (#URL);
|
file_size stdcall (#URL);
|
||||||
|
|
||||||
filesize = EBX;
|
filesize = EBX;
|
||||||
if (!filesize) /*{Pause(200); ReadHtml();}*/ return;
|
if (!filesize) return;
|
||||||
|
|
||||||
mem_Free(buf);
|
mem_Free(buf);
|
||||||
buf = mem_Alloc(filesize);
|
buf = mem_Alloc(filesize);
|
||||||
if (!strcmp(get_URL_part(5),"http:")))
|
if (!strcmp(get_URL_part(5),"http:")))
|
||||||
@ -252,18 +217,44 @@ void ReadHtml()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void OpenPage()
|
||||||
|
{
|
||||||
|
if (GetProcessSlot(downloader_id)<>0) PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal);
|
||||||
|
KillProcess(downloader_id);
|
||||||
|
copystr(#URL, #editURL);
|
||||||
|
BrowserHistory.AddUrl();
|
||||||
|
za_kadrom = count = 0;
|
||||||
|
if (!strcmp(get_URL_part(5),"http:")))
|
||||||
|
{
|
||||||
|
copystr(#version, #header);
|
||||||
|
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ
|
||||||
|
DeleteFile(#download_path);
|
||||||
|
IF (URL[strlen(#URL)-1]=='/') URL[strlen(#URL)-1]='';
|
||||||
|
downloader_id = RunProgram("/sys/network/downloader", #URL);
|
||||||
|
//ýòî ãåíèàëüíî è ýòî ïèçäåö!!!
|
||||||
|
Pause(60);
|
||||||
|
if (GetProcessSlot(downloader_id)<>0)
|
||||||
|
{
|
||||||
|
WriteDebug("Browser Hack v2.0: Killing downloader and trying to run it one more!");
|
||||||
|
KillProcess(downloader_id); //óáèâàåì ñòàðûé ïðîöåññ
|
||||||
|
downloader_id = RunProgram("/sys/network/downloader", #URL);
|
||||||
|
}
|
||||||
|
//
|
||||||
|
IF (downloader_id<0) RunProgram("@notify", "Error running Downloader. Internet unavilable.");
|
||||||
|
Draw_Window();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ReadHtml();
|
||||||
|
if (filesize) wintodos(buf);
|
||||||
|
WB1.ShowPage(#URL);
|
||||||
|
}
|
||||||
|
|
||||||
void TWebBrowser::ShowPage(dword adress) {
|
|
||||||
max_kolvo_stolbcov = width - 30 / 6;
|
void TWebBrowser::ShowPage(dword adress)
|
||||||
max_kolvo_strok = height - 3 / 10 - 2;
|
{
|
||||||
edit1.size = edit1.pos = strlen(#editURL);
|
edit1.size = edit1.pos = strlen(#editURL);
|
||||||
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
||||||
|
|
||||||
BrowserHistory.AddUrl();
|
|
||||||
|
|
||||||
//LETS_LOAD
|
|
||||||
ReadHtml();
|
|
||||||
|
|
||||||
if (!filesize)
|
if (!filesize)
|
||||||
{
|
{
|
||||||
DrawBar(left, top, width+4, height, 0xFFFFFF); //çàêðàøèâàåì âñ¸ äîíèçó
|
DrawBar(left, top, width+4, height, 0xFFFFFF); //çàêðàøèâàåì âñ¸ äîíèçó
|
||||||
@ -277,7 +268,6 @@ void TWebBrowser::ShowPage(dword adress) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
wintodos(buf);
|
|
||||||
ParseHTML(buf, filesize);
|
ParseHTML(buf, filesize);
|
||||||
IF (!strcmp(#version, #header)) DrawTitle(#header);
|
IF (!strcmp(#version, #header)) DrawTitle(#header);
|
||||||
}
|
}
|
||||||
|
@ -2,4 +2,5 @@
|
|||||||
del HTMLv
|
del HTMLv
|
||||||
rename HTMLv.com HTMLv
|
rename HTMLv.com HTMLv
|
||||||
rem ..\C--\kpack HTMLv
|
rem ..\C--\kpack HTMLv
|
||||||
|
del warning.txt
|
||||||
pause
|
pause
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
|
|
||||||
<p><a href='index.htm'>Íà ãëàâíóþ ñòðàíèöó index.htm</a></p>
|
<p><a href='index.htm'>Íà ãëàâíóþ ñòðàíèöó index.htm</a></p>
|
||||||
<p><a href="index.htm#home" id="#end">index.htm#home</a></p>
|
<p><a href="index.htm#home" id="#end">index.htm#home</a></p>
|
||||||
|
<p><a href="#home">#home</a></p>
|
||||||
<p><a href="background.gif">Ôîíîâàÿ êàðòèíêà</a></p>
|
<p><a href="background.gif">Ôîíîâàÿ êàðòèíêà</a></p>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
67
programs/network/htmlv/browser/include/menu_rmb.h
Normal file
67
programs/network/htmlv/browser/include/menu_rmb.h
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
//Leency - 2012
|
||||||
|
|
||||||
|
#define ITEM_HEIGHT 18
|
||||||
|
#define ITEM_WIDTH 138
|
||||||
|
|
||||||
|
char *ITEMS_LIST[]={
|
||||||
|
"View html code F3",
|
||||||
|
"--------------------", //ñäåëàòü îïðåäåëåíèå òàêèõ ëèíèé è ðèñîâàòü èõ
|
||||||
|
"KOI-8 Ctrl+K",
|
||||||
|
"UTF Ctrl+U",
|
||||||
|
0};
|
||||||
|
|
||||||
|
proc_info MenuForm;
|
||||||
|
|
||||||
|
|
||||||
|
void menu_rmb()
|
||||||
|
{
|
||||||
|
|
||||||
|
mouse mm;
|
||||||
|
int items_num;
|
||||||
|
int id, letitclose=0;
|
||||||
|
|
||||||
|
SetEventMask(100111b);
|
||||||
|
|
||||||
|
loop() switch(CheckEvent())
|
||||||
|
{
|
||||||
|
case evMouse:
|
||||||
|
/*mm.get();
|
||||||
|
//êóëüíî
|
||||||
|
if (mm.x>85) && (mm.x<155) && (mm.y>190) && (mm.y<190+22)
|
||||||
|
if (mm.lkm) {DrawRegion_3D(86,191,68,20,0xC7C7C7,0xFFFFFF); letitclose=1;}
|
||||||
|
ELSE {IF (letitclose) {DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7); Pause(7); ExitProcess();}}
|
||||||
|
ELSE IF (letitclose) {letitclose=0; DrawRegion_3D(86,191,68,20,0xFFFFFF,0xC7C7C7);}*/
|
||||||
|
break;
|
||||||
|
|
||||||
|
case evButton:
|
||||||
|
id=GetButtonID();
|
||||||
|
if (id==1) ExitProcess();
|
||||||
|
if (id==10) WB1.Scan(52); //View html code
|
||||||
|
if (id==11) break;
|
||||||
|
if (id==12) WB1.Scan(11); //KOI
|
||||||
|
if (id==13) WB1.Scan(21); //UTF
|
||||||
|
|
||||||
|
ExitProcess();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case evKey:
|
||||||
|
if (GetKey()==27) ExitProcess();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case evReDraw:
|
||||||
|
for (items_num=0; ITEMS_LIST[items_num]<>0; items_num++;) {};
|
||||||
|
DefineAndDrawWindow(Form.left+m.x,Form.top+m.y+GetSkinWidth()+3,ITEM_WIDTH,items_num*ITEM_HEIGHT,0x01,0x10FFFFFF,0,0,0);
|
||||||
|
|
||||||
|
DrawRegion(0,0,ITEM_WIDTH,items_num*ITEM_HEIGHT,0x777777); //îáîäîê
|
||||||
|
DrawBar(1,1,ITEM_WIDTH-1,items_num*ITEM_HEIGHT-1,0xFFFFFF); //ôîí
|
||||||
|
for (i=0; i<items_num; i++;)
|
||||||
|
{
|
||||||
|
DefineButton(0, i*ITEM_HEIGHT, ITEM_WIDTH, ITEM_HEIGHT, i+10+BT_HIDE, 0xFFFFFF);
|
||||||
|
WriteText(8,i*ITEM_HEIGHT+6,0x80,0x000000,ITEMS_LIST[i],0);
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
GetProcessInfo(#MenuForm, SelfInfo);
|
||||||
|
id=GetSlot(MenuForm.ID);
|
||||||
|
if (id<>ActiveProcess()) ExitProcess();
|
||||||
|
}
|
||||||
|
}
|
@ -18,6 +18,7 @@ byte unicode_chars[] = "
|
|||||||
char *unicode_tags[]={
|
char *unicode_tags[]={
|
||||||
"nbsp", " ",
|
"nbsp", " ",
|
||||||
"#38", " ",
|
"#38", " ",
|
||||||
|
"#160", " ",
|
||||||
|
|
||||||
"copy", "(c)",
|
"copy", "(c)",
|
||||||
"#169", "(c)",
|
"#169", "(c)",
|
||||||
@ -59,7 +60,9 @@ char *unicode_tags[]={
|
|||||||
"#8221", "\"",
|
"#8221", "\"",
|
||||||
|
|
||||||
"laquo", "<<",
|
"laquo", "<<",
|
||||||
|
"#171", "<<",
|
||||||
"raquo", ">>",
|
"raquo", ">>",
|
||||||
|
"#187", ">>",
|
||||||
|
|
||||||
"uarr", "\24",
|
"uarr", "\24",
|
||||||
"darr", "\25",
|
"darr", "\25",
|
||||||
|
Loading…
Reference in New Issue
Block a user