• Авторизация


Без заголовка 02-09-2011 10:42


!
комментарии: 3 понравилось! вверх^ к полной версии
вордпрес блог - установите пожал 10-10-2010 20:23


помогите, други! установите блог на бесплатный хост - у меня все есть, кроме ума, как это сделать. Шаблон скину. Пожалуйста((( я уже -
комментарии: 1 понравилось! вверх^ к полной версии

SOS!! Помогите!! 05-10-2008 21:54


такс, раз это сообщество называется "программирование", то я решила зайти именно к вам. Я надеюсь, что вы мне поможите. Челы, выручайте, плизззззз))))) Срочно надо написать прогу, а я не бум-бум!!!! Вот условие, надеюсь на вашу помощь...


Даны действительные числа а1, …, а60. Организовать новый массив из тех чисел, которые входят в последовательность более одного раза. :
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 14-08-2008 18:40


помогите пожалуйста. как сделать в виндоус виста чтобы звук с line-in микрофона напрямую выходил на колонки??? очень буду признателен!
комментарии: 1 понравилось! вверх^ к полной версии
Манипуляции с окнами 25-06-2008 15:35


Обратила внимание, что часть кода работоспособная в Win98 перестала корректно работать в WinXP. Публикую подправленый код.

1) Создаем окно с BorderStyle=0 (Нет)
2) В окне несколько элементов Picture и задаем ем следущие имена:
- BorderU
- BorderD
- BorderL
- BorderR
- BorderS
- Header
3) В секции (General)(Declaration):
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

4)Процедуры:
Private Sub HeadBar_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Таскаем окно по экрану за заголовок
ReleaseCapture
SendMessage Me.hwnd, &HA1, 2, 0&
End Sub

Private Sub BorderD_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
If Button = 1 Then
SendMessage Me.hwnd, &HA1, 15, 0& 'изменяем положение нижней границы окна при нажатой левой кнопки мыши
Else
SendMessage Me.hwnd, &HA1, 12, 0& 'изменяем положение верхней границы окна при нажатии правой кнопки мыши
End If
End Sub

Private Sub BorderR_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
If Button = 1 Then
SendMessage Me.hwnd, &HA1, 11, 0& '11 правая граница
Else
SendMessage Me.hwnd, &HA1, 10, 0& '11 левая граница
End If
End Sub

Private Sub BorderS_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
If Button = 1 Then
SendMessage Me.hwnd, &HA1, 17, 0& 'низ и правая
Else
SendMessage Me.hwnd, &HA1, 13, 0& 'верх и лево
End If
End Sub

Private Sub Form_Resize()
Dim i As Integer, w As Single
BorderU.Move 0, 0, Me.ScaleWidth, 120
HeadBar.Move BorderU.Left, BorderU.Height, BorderU.Width - 240,480
BorderL.Move 0, 120, 120, Me.ScaleHeight - 240
BorderR.Move Me.ScaleWidth - 120, 120, 120, Me.ScaleHeight - 240
BorderD.Move 0, Me.ScaleHeight - 120, Me.ScaleWidth - 120, 120
BorderS.Move Me.ScaleWidth - 120, Me.ScaleHeight - 120
End Sub

5) Бордюры раскрашиваем или цветом или при помощи метода .Line (в последнем случае на забудте установить свойство AutoRedraw = True)
6) Попробуйте изменять размеры окна при нажатой левой или правой кнопок мыши.
комментарии: 0 понравилось! вверх^ к полной версии
Может кому пригодится 26-05-2008 15:54


#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
void help(void)
{
	puts("Конвертер кириллицы в DOS(CP866),Windows(CP1251) и КОИ-8");
	puts("Формат запуска: CONVERT файл-источник файл-приемник РЕЖИМ");
	puts("Режим может быть следующим:");
	puts("dw - из DOSa в Windows");
	puts("dk - из DOSa в КОИ-8");
	puts("wd - из Windows в DOS");
	puts("wk - из Windows в КОИ-8");
	puts("kd - из КОИ-8 в DOS");
	puts("kw - из КОИ-8 в Windows");
	puts("в этих режим файл-приемник не обязателен");
	puts("Также можно изменять код новой строки, свойственный UNIX и DOS(Windows)");
	puts("ud - из UNIXa в DOS");
	puts("du - из DOSa в UNIX");
	puts("А в этих режимах файл-приемник необходим");
	getch();
	exit(255);
}
void main(int argc,char *argv[])
{
	FILE *in,*out;
	long i,t=0,m=0,j;
	char dw[]={"L+T+-+¦¦Lг¦T¦=+¦¦TTLL-г++----¦¦-рстуфхцчшщъыьэюя###жжжжЦ=жж==Ц=ЦЦЦЦжЦжжж====ж=ж=Ц=ЦЦ==ЦжжЦЦ#####ЁёЄєЇїЎў°•·v№¤¦ и¬к¦п¬бв-Х¬?¦дИа"};
	char dk[]={"стўчфхЎ·щъыьэюяЁЄєЇїцшу¦v¤ •°№рё+T+¦-+г-г¦T¦=+¦¦РСТБЗ-+зж¦бионмГДЙИЖАКп-л嬬-а-¦¦¦¬кйвд--ЕВНМОПЛTLL-¦L+¦-¦--+-LT¦гЩШУЫЯЧЬХЮЦ¬ЭФЪ"};
	char wd[]={"??'?\".++¦%????? Ўў?¤?|§ЁcЄ\"¬-RЇ°?Ii?u¶·ё№є\"???їАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"};
	char wk[]={"??'?\".К-Ф%?????ЪЯЧ?Э?|§¦cЩ\"Г-RУЬ?Ii?u¶Юг¬Ш\"???ЫстўчфхЎ·щъыьэюяЁЄєЇїцшу¦v¤ •°№рё+T+¦-+г-г¦T¦=+¦¦TLL-¦L+¦-¦--+-LT"};
	char kd[]={"-¦-¬L-++T++---¦¦---Ї¦•vўєЄ ї°¤·Ў=¦-ёг㬬¬LLL---¦¦¦¦Ё¦¦TTT¦¦¦+++№юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"};
	char kw[]={"ЦжЦЦЦЦжжЦЦж########пИХ?в¦ка¬-д¬б=ж=¬Ц==Ц==Ц==Ц=жжжжижж=Ц==Ц=жж榦рсЎфхЇуїшщъыьэюя ЁёЄєцт№vч°¤•ў·¦L+г-+L+-Lг¦T¦=+¦-¦TTL¦T--¦+¦-+-"};
	char *pointer,mode[80];

	if(argc==3)strcpy(mode,argv[2]);
	else
	{
		if(argc==4)strcpy(mode,argv[3]);
		else
		{
			printf("Invalid number of parameters %d\n",argc);
			help();
		}
	}
	pointer=NULL;
	if(strcmp(mode,"du")==0)m=1;
	if(strcmp(mode,"ud")==0)m=2;
	if(strcmp(mode,"dw")==0)pointer=dw;
	if(strcmp(mode,"dk")==0)pointer=dk;
	if(strcmp(mode,"wd")==0)pointer=wd;
	if(strcmp(mode,"wk")==0)pointer=wk;
	if(strcmp(mode,"kd")==0)pointer=kd;
	if(strcmp(mode,"kw")==0)pointer=kw;
	if(pointer==NULL&&m==0)
	{
		printf("Error convertion mode:%s\n",argv[3]);
		help();
	}
	if(m!=0&&argc!=4)
	{
		printf("Invalid number of parameters %d\n",argc);
		help();
	}
	if((in=fopen(argv[1],"r+b"))==NULL)
	{
		printf("Can't open file %s\n",argv[1]);
		help();
	}
	if(argc==4)
	{
		if((out=fopen(argv[2],"wb"))==NULL)
		{
			printf("Can't open file %s\n",argv[2]);
			help();
		}
	}
	else out=in;
	i=0;
	j=0;
	while(feof(in)==0)
	{
		fseek(in,i,SEEK_SET);
		fread(&t,1,1,in);
		if(feof(in)==0)
		{
			fseek(out,j,SEEK_SET);
			if(m==0)
			{
				if(t<128)fprintf(out,"%c",t);
				else fprintf(out,"%c",*(pointer+t-128));
			}
			if(m==1)
			{
				if(t!=13)fprintf(out,"%c",t);
				else j--;
			}
			if(m==2)
			{
				if(t!=10)fprintf(out,"%c",t);
				else
				{
					fprintf(out,"%c%c",13,10);
					j++;
				}
			}
		}
		i++;
		j++;
	}
}
комментарии: 2 понравилось! вверх^ к полной версии
Работаем с архивами 20-02-2008 13:24



Работаем с ZIP-файлами
.




Структура ZIP-файла
.

ZIP файл состоит из последовательностей
записей четырех типов:

LOCREC, CENTREC, ENDREC, EXTREC

Каждая запись начинается с метки 'PK'
(0x504B) и типа записи:

    (0x0102) - CENTREC

    (0x0304) - LOCREC

    (0x0506) - ENDREC

    (0x0708) - EXTREC



Запись типа LOCREC (по 1 записи на каждый
упакованный файл (каталог) архива.)


Структура записи
:

- Version_Need_to_Extract_0 (1 байт)

- Version_Need_to_Extract_1 (1 байт)

    Номер версии Unzip определяется как
(Version_Need_to_Extract_0 / 10 + Version_Need_to_Extract_1 % 10)

- General_PurPose_Bit_Flag (2 байта)

    Универсальный битовый флаг, определяющий
платформу (ОС) и файловую структуру
исходных файлов

- Compression_Method (2 байта)

    Метод сжатия записи:

       
STORED = 0 (без сжатия)

        SHRUNK = 1

        REDUCED1 = 2

        REDUCED2 = 3

        REDUCED3 = 4

        REDUCED4 = 5

        IMPLODED = 6

        TOKENIZED = 7

        DEFLATED = 8

        ENHDEFLATED = 9

        DCLIMPLODED = 10

        PKRESMOD11 = 11

        BZIP2ED = 12

        NUM_METHODS = 13


- Last_Mod_DOS_DateTime (4 байта)

    Время последней модификации файла в
формате DOS

- CRC32 (4 байта)

    Контрольная сумма файла

- Compressed_Size (4 байта)

    Размер упакованного файла

- Uncompressed_Size (4 байта)

    Размер оригинального (распакованного)
файла

- FileName_Length (2 байта)

    Длина имени файла (включая путь от
центральной директории)

- Extra_Filed_Length (2 байта)

    Длина дополнительного поля

- Patch_and_FileName (длина определяется
полем FileName_Length)

    Путь от центральной директории и название
файла

- Extra_Filed (присутствует если
Extra_Filed_Length > 0)

    Дополнительная информация

- File_Pack (длина определяется полем
Compressed_Size)

    Упакованное (или оригинальное если
Compression_Method = 0) содержимое файла. (для
каталогов отсутствует)


Примечание
: если в General_PurPose_Bit_Flag
установлен бит (0x8), то поля CRC32, Compressed_Size и
Uncompressed_Size в LOCREC равны нулю, а
соответствующие значения берутся из CENREC




Запись типа CENREC (по 1 записи на каждый
упакованный файл (каталог) архива.)


Структура записи:


- Version_Made_By_0 (1 байт)

- Versoin_Made_By_1 (1 байт)

    Номер версии Zip определяется как
(Version_Made_By_0 / 10 + Version_Made_By_1 % 10)

- Version_Need_to_Extract_0 (1 байт)

- Version_Need_to_Extract_1 (1 байт)

    Номер версии Unzip определяется как
(Version_Need_to_Extract_0 / 10 + Version_Need_to_Extract_1 % 10)

- General_PurPose_Bit_Flag (2 байта)

    Универсальный битовый флаг, определяющий
платформу (ОС) и файловую структуру
исходных файлов

- Compression_Method (2 байта)

    Метод сжатия записи

- Last_Mod_DOS_DateTime (4 байта)

    Время последней модификации файла в
формате DOS

- CRC32 (4 байта)

    Контрольная сумма файла

- Compressed_Size (4 байта)

    Размер упакованного файла

- Uncompressed_Size (4 байта)

    Размер оригинального (распакованного)
файла

- FileName_Length (2 байта)

    Длина имени файла (включая путь от
центральной директории)

-
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
. 11-01-2008 15:16


Настроение сейчас - Паршивое

Сообщество так толком и не работает. (((
комментарии: 1 понравилось! вверх^ к полной версии
Ищу программеров на С++. Срочно!! 21-12-2007 17:28


Есть ли в мире хоть один программер на С++ кроме меня, Льва, и Сони?! Если есть, то откликайтесь!!
комментарии: 2 понравилось! вверх^ к полной версии
Без заголовка 04-06-2007 13:47


Нашла недавно интересный скрипт, показывает картинку с отражением как бы в воде. Текст скрипта следующий:

[485x509]
комментарии: 3 понравилось! вверх^ к полной версии
. 17-04-2007 15:41


Определение положения курсора на усовершенствованом текстовом поле (rtf)

На форме создаем: RTB - rtfText, SB - статус строка, в ней 2 или более ячеек (в примере используются первые две
для отображения текущей/максимальной строки и текущей/максимальной колонки 



Private Declare Function
SendMessage Lib "user32" Alias
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
  

Private
Col As Integer, Row As Integer текущая колонка и
строка 


Private
mCol As Integer, mRow As Integer максимальная
колонка и строка

процедуры реагирования на мышь 


Private Sub
RTB_Click() 

    Call
ChangeStatus 

End Sub

 
и на клавиатуру 


Private Sub
RTB_KeyUp(KeyCode As Integer, Shift As Integer

    Call
ChangeStatus 

End Sub

 

Private Sub
ChangeStatus() 

  Dim
i As Integer, iChar As Integer, cChar As Integer
 


  Dim
str1 As String
 
    mRow = (SendMessage(RTB.hwnd, &HBA, 0, 0&)) 'всего строк

    Row = 1 + SendMessage(RTB.hwnd, &HC9, (RTB.SelStart), 0&) 'текущая строка 

    'Row = RTB.GetLineFromChar(RTB.SelStart) ' вариант без использования API
 
    mCol = SendMessage(RTB.hwnd, &HC1, (RTB.SelStart), 0&) + 1 'всего колонок

    Col = RTB.SelStart - SendMessage(RTB.hwnd, &HBB, (Row - 1), 0&) + 1 ' текущая 

    '----------------------- 
    SB.Panels(1).Text = "Row: " & CStr(Row) & "/" & CStr(mRow) 
    SB.Panels(2).Text = "Col: " & CStr(Col) & "/" & CStr(mCol) 

End Sub
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 27-02-2007 15:29


Работаем с функциями windows: (пример программы из области приколов: Догони кнопку Пуск. Для выхода из режима демонстрации кнопка Esc)Option Explicit








'Функция для изменения координат и размера окна
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

'Необходимые константы
Const SWP_NOSIZE = &H1 'Сохранить текущие размеры
Const SWP_NOMOVE = &H2 'Сохранить текущее положение

'Функция для получения окна первого уровня

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'Функция для получения дочернего окна

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
(ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

'Определяет текущую позицию курсора
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'Структура POINTAPI
Private Type POINTAPI
x As Long
y As Long
End Type

'Функция определяет манипулятор окна по координатам мыши
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long

'Функция определяет манипулятор рабочего стола
Private Declare Function GetDesktopWindow Lib "user32" () As Long
'Функция задаёт окну нового родителя
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

'Функция отлавливает нажатия клавиатуры вне программы
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Const VK_ESCAPE = &H1B


Dim hnd As Long

Private Sub Form_Load()
'Кнопка Пуск является дочерним окном панели задач
'Кнопка Пуск относится к классу "BUTTON", Панель задач относится к классу "Shell_TrayWnd"
'Ищем манипулятор панели задач
hnd = FindWindow("Shell_TrayWnd", vbNullString)
'Ищем манипулятор кнопки пуск
hnd = FindWindowEx(hnd, 0, "BUTTON", vbNullString)
End Sub

Private Sub tmrAntiStart_Timer()
Dim hwnd As Long
Dim Curs As POINTAPI
'Определяем координаты курсора
GetCursorPos Curs
'Определяем манипулятор окна
hwnd = WindowFromPoint(Curs.x, Curs.y)

If hnd = hwnd Then
'Задаём для Пуска новые координаты
SetWindowPos hwnd, 0, Int(800 * Rnd + 1), Int(600 * Rnd + 1), 0, 0, SWP_NOSIZE
'Выносим Пуск на Десктоп
SetParent hnd, GetDesktopWindow
End If

'Отлавливаем нажатие клавиатуры

If GetAsyncKeyState(VK_ESCAPE) Then
SetParent hnd, FindWindow("Shell_TrayWnd", vbNullString) 'Возваращаем Пуск на Родину!
SetWindowPos hnd, 0, 0, 0, 0, 0, SWP_NOSIZE
End
End If

End Sub
комментарии: 4 понравилось! вверх^ к полной версии
Без заголовка 16-02-2007 09:06


Напоминаю: Чтобы создавать трейды в сообществе нужно:
1) Попросить создателя сообщества добавить вас в друзья
2) заходить в сообщество под своим ником и добавлять посты
Ps, глючный лиру почему-то в разделах во время добавления поста не пишет подписи к разделам (может это только к у меня, я обращалась к Валентину, он так и не отреагировал), на вякий случай, если у тебя тоже не будет отображаться, порядок такой: 1) VBasic 2) HTML 3) Document 4) VC++ 5) Delphi
Если нужны еще какие-нибудь разделы напишите я добавлю.

Зведная_мышка
комментарии: 1 понравилось! вверх^ к полной версии
Без заголовка 14-02-2007 16:42


Коментарии к коду:
caption - заголовок таблицы (по центру таблицы)

colgroup и col - служат для обзначения отдельных граф (столбцов) таблицы и групп граф. С помощью CSS можно однотипно оформить все ячейки графы, например в моем примере выравнивание по центру. Кроме того позволяют расчитать броузеру количество граф еще до загрузки всей таблицы.

thead (шапка таблицы), tbody (тело таблицы), tfoot (подвал таблицы) - Позволяют отразить логическую структуру таблиц, и облегчает оформление.
Обратите внимание что tfoot идет перед tbody, сразу за thead, хотя в таблице он отображается в самом низу.

tr - строка таблицы
td, th - ячейки таблицы, причем вторая означает ячейку с заголовком и по умолчанию выделяет текст.
комментарии: 5 понравилось! вверх^ к полной версии
Без заголовка 14-02-2007 16:10


А вот код: (примечание вместо квадратных скобок должны быть треугольные, т. е. знкаки меньше и больше, просто если я их ставлю вместо кода сразу картинка рисуется, заключение в оператор цитаты не помогает, а расширеный редактор у меня вообще не работает, так что пришлось прибегнуть к такому некрасивому способу...) <table border="1" width="80%" align="center"> __<caption>Пример таблицы</caption> __<colgroup class="name"> __</colgroup> __<colgroup class="price"> ____<col class="rubles"> ____</col> ____<col class="dollar"> ____</col> ____<col class="tugric"> ____</col> __</colgroup> __<colgroup class="warrinty"> __</colgroup> __<thead> ____<tr> ______<th rowspan="2">Наименования</th> ______<th colspan="3">Цена</th> ______<th rowspan="2">Гарантия, мес</th> ____</tr> ____<tr> ______<th>рубли</th> ______<th>доллары</th> ______<th>тугрики</th> __</tr> __</thead> __<tfoot> ____<tr> ______<th>Итого</th> ______<td>100</td> ______<td>200</td> ______<td>300</td> ______<td>&nbsp;</td> ____</tr> __</tfoot> __<tbody> ____<tr> ______<td>Предмет 1</td> ______<td>10</td> ______<td>20</td> ______<td>30</td> ______<td>6</td> ____</tr> ____<tr> ______<td>Предмет 2</td> ______<td>15</td> ______<td>25</td> ______<td>35</td> ______<td>6</td> ____</tr> ____<tr> ______<td>Предмет 3</td> ______<td>17</td> ______<td>27</td> ______<td>37</td> ______<td>6</td> ____</tr> ____<tr> ______<td>Предмет 4</td> ______<td>99</td> ______<td>120</td> ______<td>130</td> ______<td>6</td> ____</tr> __</tbody> </table>
комментарии: 3 понравилось! вверх^ к полной версии
Таблицы в html 14-02-2007 15:46


Кто то у меня просил как создавать таблицы в HTML.
Покажу на примере:
[700x182]
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 19-01-2007 14:05


Код для управления строчным меню:
Dim MenuMainList(1 To 7) As String
Dim menuMainTag As Boolean
Dim numPopMenu As Integer ' номер кликнутого меню

Private Sub Form_Load()
Call LoadIni
End Sub

Private Sub imgMenu_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'курсор над формой, погасить все меню
    Dim i As Integer
    For i = 1 To 7
        MenuMainLineLt(i).Visible = False
        MenuMainLineUp(i).Visible = False
        MenuMainLineRt(i).Visible = False
        MenuMainLineDn(i).Visible = False
        MenuMainLineSD(i).Visible = False
        MenuMainLineSR(i).Visible = False
    Next
End Sub

Private Sub imgTopHead_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Me.WindowState <> 0 Then Exit Sub
    ReleaseCapture
    SendMessage Me.hWnd, &H112, &HF012, 0
    Call RedrawMe
End Sub

Private Sub RedrawMe()
    Dim i As Integer, k As Integer
    'код для позицирования заголовка углов формы и границ
    'см предыдущие трейды
    'Меню
    imgMenu.Move imgFrameLt.Width, imgTopHead.Height, Me.Width - imgFrameLt.Width - imgFrameRt.Width, 800
    'Все остальное
    
    For i = 1 To 7 'По числу элементов меню
        MenuMainCapt(i).Caption = MenuMainList(i)
        MenuMainCaptS(i).Caption = MenuMainList(i)
        MenuMainCapt(i).Move 60, 30
        MenuMainCaptS(i).Move 75, 45
        MenuMainLineLt(i).X1 = MenuMainCapt(i).Left - 60
       
Читать далее...
комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка 19-01-2007 14:02


На элементе imgToolBar создаем:

Begin VB.PictureBox MenuMainItem
BorderStyle = 0 'None
Visible = 0 'False
Begin VB.Label MenuMainCapt
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "Menu"            
End
Begin VB.Label MenuMainCaptS
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "&Menu"
ForeColor = &H8000000E&
End
Begin VB.Line MenuMainLineSD
BorderColor = &H80000010&
BorderWidth = 3
Visible = 0 'False
End
Begin VB.Line MenuMainLineSR
BorderColor = &H80000010&
BorderWidth = 3
Visible = 0 'False
End
Begin VB.Line MenuMainLineDn
Visible = 0 'False
End
Begin VB.Line MenuMainLineRt
Visible = 0 'False
End
Begin VB.Line MenuMainLineLt
BorderColor = &H8000000E&
Visible = 0 'False
End
Begin VB.Line MenuMainLineUp
BorderColor = &H8000000E&
Visible = 0 'False
End
End

Для каждого элемента строчного меню.
комментарии: 0 понравилось! вверх^ к полной версии
. 28-11-2006 16:40


А теперь добавим текстовое меню
[652x412]
комментарии: 1 понравилось! вверх^ к полной версии
. 17-11-2006 12:26


 (32x32, 1Kb)

Код для управления окнами



Секция (General) (Declarations)



Option Explicit
 

Private Declare Function
ReleaseCapture Lib "user32" () As Long 

Private Declare Function
SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam
As Any) As Long 

Private Declare Function
CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3
As Long) As Long 

Private Declare Function
SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long 


Private Type
POINTAPI 
    X As Long 
    Y As Long 
End Type 
' Ограничение минимального размера окна
Const minWidth = 4800
Const minHeight = 3200

Код управления кнопками


Private Sub cmdClose_Click()
    'Здесь закрываем все, сохраняем все и выход
    End
End Sub

'
Private Sub cmdMax_Click()
    Me.WindowState = 2
    cmdMax.Visible = False
'Меняем кнопку max на resrore
    cmdRest.Visible = True
    Call RedrawMe

End Sub

'
Private Sub cmdMin_Click()
    Me.WindowState = 1

End Sub

'
Private Sub cmdRest_Click()
    Me.WindowState = 0
    cmdRest.Visible = False 'Меняем кнопку resrore на max
    cmdMax.Visible = True
    Call RedrawMe
End Sub
 
' Заставляем форму реагировать на изменение размеров

Private Sub
Form_Resize() 
    On Error Resume Next 'Игнорируем встроенные ошибки от Майкрософт
    'Ограничиваем минимальный размер окна
    If Me.Width < minWidth Then Me.Width = minWidth 
    If Me.Height < minHeight Then Me.Height = minHeight 
    Dim newRgn As Long 
    'Создаем новый регион для окна, если решили оставить окно прямоугольным, то эта функция не
нужна

    'Можно вообще создавать полигон произвольной формы с помощью функций Api 
    newRgn = CreateRoundRectRgn(0, 0, Width / Screen.TwipsPerPixelX, Height /
Читать далее...
комментарии: 3 понравилось! вверх^ к полной версии