-Рубрики

 -Поиск по дневнику

Поиск сообщений в _Программирование_

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 18.10.2006
Записей: 24
Комментариев: 44
Написано: 51




Сделай мир лучше

Без заголовка

Пятница, 02 Сентября 2011 г. 10:42 + в цитатник


Понравилось: 33 пользователям

вордпрес блог - установите пожал

Воскресенье, 10 Октября 2010 г. 20:23 + в цитатник
nina_benoit все записи автора помогите, други! установите блог на бесплатный хост - у меня все есть, кроме ума, как это сделать. Шаблон скину. Пожалуйста((( я уже -
Рубрики:  HTML

SOS!! Помогите!!

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


Даны действительные числа а1, …, а60. Организовать новый массив из тех чисел, которые входят в последовательность более одного раза. :

Без заголовка

Четверг, 14 Августа 2008 г. 18:40 + в цитатник
shyboywins все записи автора помогите пожалуйста. как сделать в виндоус виста чтобы звук с line-in микрофона напрямую выходил на колонки??? очень буду признателен!

Манипуляции с окнами

Среда, 25 Июня 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) Попробуйте изменять размеры окна при нажатой левой или правой кнопок мыши.
Рубрики:  VBasic

Может кому пригодится

Понедельник, 26 Мая 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++;
	}
}
Рубрики:  VC++

Работаем с архивами

Среда, 20 Февраля 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 байта)

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

- Extra_Filed_Length (2 байта)

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

- File_Comments_Length (2 байта)

    Длина комментария

- Disk_Number_Start (2 байта)

- Internal_File_Attributes (2 байта)

- External_File_Attributes (4 байта)

- Relative_Offset_Local_Header (4 байта)

    Смешение соответствующей записи LOCREC от
начала архива

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

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

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

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

 

Запись типа ENDREC (1 на весь архив)


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


- Number_This_Disk (2 байта)

- Num_Disk_With_Start_Central_Dir (2 байта)

- Num_Entries_Centrl_Disk_Dir_Ths_Disk (2 байта)

- Total_Entries_Central_Dir (2 байта)

    Число записей (файлов и директорий) в
архиве

- Size_Central_Directory (4 байта)

- Offset_start_Central_Directory (4 байта)

- ZipFile_Comment_Length (2 байта)

    Длина комментария (должна быть не больше
62000 байт)

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

    Комментарий к архиву



Запись типа EXTREC (по 1 на каждый файл,
встречается, если архив закрыт паролем)


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


- CRC32 (4 байта)

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

- Compressed_Size (4 байта)

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

- Uncompressed_Size (4 байта)

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

Рубрики:  ZIP

Метки:  

.

Пятница, 11 Января 2008 г. 15:16 + в цитатник
Звездная_мышка все записи автора В колонках играет - Траурный марш
Настроение сейчас - Паршивое

Сообщество так толком и не работает. (((
Рубрики:  Document

Метки:  

Ищу программеров на С++. Срочно!!

Пятница, 21 Декабря 2007 г. 17:28 + в цитатник
Flame777 все записи автора Есть ли в мире хоть один программер на С++ кроме меня, Льва, и Сони?! Если есть, то откликайтесь!!
Рубрики:  VC++

Без заголовка

Понедельник, 04 Июня 2007 г. 13:47 + в цитатник
Эльф_в_тельняшке все записи автора Нашла недавно интересный скрипт, показывает картинку с отражением как бы в воде. Текст скрипта следующий:

 (485x509, 63Kb)
Рубрики:  JavaScript

.

Вторник, 17 Апреля 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
Рубрики:  VBasic

Без заголовка

Вторник, 27 Февраля 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
Рубрики:  VBasic

Без заголовка

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

Зведная_мышка
Рубрики:  Document

Без заголовка

Среда, 14 Февраля 2007 г. 16:42 + в цитатник
Звездная_мышка все записи автора Коментарии к коду:
caption - заголовок таблицы (по центру таблицы)

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

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

tr - строка таблицы
td, th - ячейки таблицы, причем вторая означает ячейку с заголовком и по умолчанию выделяет текст.
Рубрики:  HTML

Без заголовка

Среда, 14 Февраля 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>
Рубрики:  HTML

Таблицы в html

Среда, 14 Февраля 2007 г. 15:46 + в цитатник
Звездная_мышка все записи автора Кто то у меня просил как создавать таблицы в HTML.
Покажу на примере:
 (700x182, 26Kb)
Рубрики:  HTML

Без заголовка

Пятница, 19 Января 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
        MenuMainLineLt(i).X2 = MenuMainCapt(i).Left - 60
        MenuMainLineLt(i).Y1 = MenuMainCapt(i).Top - 30
        MenuMainLineLt(i).Y2 = MenuMainCapt(i).Top + MenuMainCapt(i).Height + 30
        MenuMainLineUp(i).X1 = MenuMainCapt(i).Left - 60
        MenuMainLineUp(i).X2 = MenuMainCapt(i).Left + MenuMainCapt(i).Width + 60
        MenuMainLineUp(i).Y1 = MenuMainCapt(i).Top - 30
        MenuMainLineUp(i).Y2 = MenuMainCapt(i).Top - 30
        MenuMainLineRt(i).X1 = MenuMainCapt(i).Left + MenuMainCapt(i).Width + 60
        MenuMainLineRt(i).X2 = MenuMainCapt(i).Left + MenuMainCapt(i).Width + 60
        MenuMainLineRt(i).Y1 = MenuMainCapt(i).Top - 30
        MenuMainLineRt(i).Y2 = MenuMainCapt(i).Top + MenuMainCapt(i).Height + 30
        MenuMainLineDn(i).X1 = MenuMainCapt(i).Left - 60
        MenuMainLineDn(i).X2 = MenuMainCapt(i).Left + MenuMainCapt(i).Width + 60
        MenuMainLineDn(i).Y1 = MenuMainCapt(i).Top + MenuMainCapt(i).Height + 30
        MenuMainLineDn(i).Y2 = MenuMainCapt(i).Top + MenuMainCapt(i).Height + 30
        MenuMainLineSD(i).X1 = MenuMainLineDn(i).X1 + 60
        MenuMainLineSD(i).X2 = MenuMainLineDn(i).X2 + 60
        MenuMainLineSD(i).Y1 = MenuMainLineDn(i).Y1 + 60
        MenuMainLineSD(i).Y2 = MenuMainLineDn(i).Y1 + 60
        MenuMainLineSR(i).X1 = MenuMainLineRt(i).X1 + 60
        MenuMainLineSR(i).X2 = MenuMainLineRt(i).X2 + 60
        MenuMainLineSR(i).Y1 = MenuMainLineRt(i).Y1 + 60
        MenuMainLineSR(i).Y2 = MenuMainLineRt(i).Y2 + 60
        If i = 1 Then
            MenuMainItem(1).Move 120, imgTopHead.Height + 30, MenuMainLineSR(i).X2 + 15, MenuMainLineSD(i).Y2 + 15
        Else
            MenuMainItem(i).Move MenuMainItem(i - 1).Left + MenuMainItem(i - 1).Width + 60, MenuMainItem(i - 1).Top, MenuMainLineSR(i).X2 + 15, MenuMainLineSD(i).Y2 + 15
        End If
        MenuMainItem(i).Visible = True
    Next
    'линия под меню
    MenuMainLineBk(1).X1 = 60
    MenuMainLineBk(1).X2 = Me.ScaleWidth - 60
    MenuMainLineBk(1).Y1 = MenuMainItem(1).Height + 2 * Screen.TwipsPerPixelY
    MenuMainLineBk(1).Y2 = MenuMainLineBk(1).Y1
    MenuMainLineBk(2).X1 = 60
    MenuMainLineBk(2).X2 = Me.ScaleWidth - 60
    MenuMainLineBk(2).Y1 = MenuMainLineBk(1).Y1 + Screen.TwipsPerPixelY
    MenuMainLineBk(2).Y2 = MenuMainLineBk(2).Y1
End Sub

Private Sub LoadIni()
    'Здесь мы инициализируем меню, значения можно загружать с ini-файла, это даст возможность работать с несколькими языками
    MenuMainList(1) = "Left"
    MenuMainList(2) = "Main"
    MenuMainList(3) = "User"
    MenuMainList(4) = "Tools"
    MenuMainList(5) = "Setup"
    MenuMainList(6) = "Help"
    MenuMainList(7) = "Right"
    'Инициализация других параметров
End Sub

'главное строчное меню
Private Sub MenuMainCapt_MouseMove(Index As Integer, 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
        MenuMainCapt(i).ForeColor = &H80000012
        MenuMainCaptS(i).ForeColor = &H8000000E
        MenuMainLineSD(i).Visible = False
        MenuMainLineSR(i).Visible = False
    Next
    If menuMainTag Then
        'утопленая кнопка и видимое выпадающее меню
        MenuMainLineLt(Index).BorderColor = &H80000008
        MenuMainLineUp(Index).BorderColor = &H80000008
        MenuMainLineRt(Index).BorderColor = &H8000000E
        MenuMainLineDn(Index).BorderColor = &H8000000E
        MenuMainCapt(Index).ForeColor = &H8000000E
        MenuMainCaptS(Index).ForeColor = &H80000012
    Else
        'поднятая кнопка и погашеное выпадающее меню
        MenuMainLineLt(Index).BorderColor = &H8000000E
        MenuMainLineUp(Index).BorderColor = &H8000000E
        MenuMainLineRt(Index).BorderColor = &H80000008
        MenuMainLineDn(Index).BorderColor = &H80000008
        MenuMainCapt(Index).ForeColor = &H80000012
        MenuMainCaptS(Index).ForeColor = &H8000000E
        MenuMainLineSD(Index).Visible = True
        MenuMainLineSR(Index).Visible = True
    End If
    MenuMainLineLt(Index).Visible = True
    MenuMainLineUp(Index).Visible = True
    MenuMainLineRt(Index).Visible = True
    MenuMainLineDn(Index).Visible = True
End Sub

Private Sub MenuMainCapt_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Нажали на элемент меню, кнопка утоплена
    MenuMainLineLt(Index).BorderColor = &H80000008
    MenuMainLineUp(Index).BorderColor = &H80000008
    MenuMainLineRt(Index).BorderColor = &H8000000E
    MenuMainLineDn(Index).BorderColor = &H8000000E
    MenuMainCapt(Index).ForeColor = RGB(0, 0, 255)
    MenuMainCaptS(Index).ForeColor = &H80000012
    'MenuMainLineLt(Index).Visible = True
    'MenuMainLineUp(Index).Visible = True
    'MenuMainLineRt(Index).Visible = True
    'MenuMainLineDn(Index).Visible = True
    MenuMainLineSD(Index).Visible = False
    MenuMainLineSR(Index).Visible = False
End Sub

Private Sub MenuMainCapt_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    'Кнпоку мыши отпустили - кнопка не нажата
 
    If Index = numPopMenu Then
        If menuMainTag Then        
            MenuMainCapt(Index).ForeColor = &H80000012
            MenuMainCaptS(Index).ForeColor = &H8000000E
            MenuMainLineLt(Index).Visible = False
            MenuMainLineUp(Index).Visible = False
            MenuMainLineRt(Index).Visible = False
            MenuMainLineDn(Index).Visible = False
            Call MenuMain_Hide(Index)
        Else
            MenuMainLineLt(Index).BorderColor = &H80000008
            MenuMainLineUp(Index).BorderColor = &H80000008
            MenuMainLineRt(Index).BorderColor = &H8000000E
            MenuMainLineDn(Index).BorderColor = &H8000000E
            MenuMainCapt(Index).ForeColor = &H8000000E
            MenuMainCaptS(Index).ForeColor = &H80000012
            MenuMainLineLt(Index).Visible = True
            MenuMainLineUp(Index).Visible = True
            MenuMainLineRt(Index).Visible = True
            MenuMainLineDn(Index).Visible = True
            Call MenuMain_Show(Index)
        End If
        menuMainTag = Not (menuMainTag)
    Else
        MenuMainLineLt(Index).BorderColor = &H80000008
        MenuMainLineUp(Index).BorderColor = &H80000008
        MenuMainLineRt(Index).BorderColor = &H8000000E
        MenuMainLineDn(Index).BorderColor = &H8000000E
        MenuMainCapt(Index).ForeColor = &H8000000E
        MenuMainCaptS(Index).ForeColor = &H80000012
        MenuMainLineLt(Index).Visible = True
        MenuMainLineUp(Index).Visible = True
        MenuMainLineRt(Index).Visible = True
        MenuMainLineDn(Index).Visible = True
        menuMainTag = True
        Call MenuMain_Show(Index)
    End If
    MenuMainLineSD(Index).Visible = False
    MenuMainLineSR(Index).Visible = False
End Sub
 
Private Sub MenuMain_Hide(Index As Integer)
    numPopMenu = 0
    PopMenu.Hide
End Sub
 
Private Sub MenuMain_Show(Index As Integer)
    'Клик на пункте меню, Высвечиваем PopMenu
    Dim sizePopMenuW As Integer, sizePopMenuH As Integer
    numPopMenu = Index
    PopMenu.Move Me.Left + MenuMainItem(Index).Left, Me.Top + imgMenu.Top + MenuMainLineBk(2).Y1 + 4 * Screen.TwipsPerPixelX
    PopMenu.Show
End Sub
 
Рубрики:  VBasic

Без заголовка

Пятница, 19 Января 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

Для каждого элемента строчного меню.
Рубрики:  VBasic

.

Вторник, 28 Ноября 2006 г. 16:40 + в цитатник
Звездная_мышка все записи автора А теперь добавим текстовое меню
 (652x412, 33Kb)
Рубрики:  VBasic

.

Пятница, 17 Ноября 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 / Screen.TwipsPerPixelY,
1.5 * Screen.TwipsPerPixelX, 1.5 * Screen.TwipsPerPixelY
    'параметры: Left, Top, Width, Heigth, width для углового эллипса, higth для углового эллипса
    Call SetWindowRgn(hWnd, newRgn, True
    Call RedrawMe 

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
FormCapt_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,
    Call RedrawMe 

End Sub

 


' Изменяем размер и положение окна таская за нижние углы окна и боковые и нижнюю рамку

Private Sub
imgDnLt_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, &HF008, 0 
    Call RedrawMe 

End Sub
 
'
Private Sub imgFrameDn_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, &HF006, 0 
    Call RedrawMe 

End Sub
  
'


Private Sub
imgFrameLt_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, &HF002, 0 
    Call RedrawMe 

End Sub
 
'


Private Sub
imgFrameRt_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, &HF002, 0 
    Call RedrawMe 

End Sub
 
'


Private Sub
imgDnRt_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, &HF008,
    Call RedrawMe 

End Sub 



'Собственно процедура перерисовывающая окно при изменении размеров

Private Sub
RedrawMe() 
    Dim i As Integer, k As Integer 
    'рисуем заголовок 
    imgTopHead.Width = Me.Width 
    imgTopHead.DrawWidth = Screen.TwipsPerPixelX 
    imgTopHead.ScaleWidth = 255
'левый угол если размеры вашей картинки отличается установите свое значение
    ' левый угол
   
imgTopLt.Move 0, 0 
    'правый угол 
    imgTopRt.Move Me.Width - imgTopRt.Width - Screen.TwipsPerPixelX, 0 
    'Кнопки в заголовке 
    cmdMin.Move imgTopHead.Width - 1060, 60 
    cmdMax.Move imgTopHead.Width - 750, 60 
    cmdRest.Move cmdMax.Left, cmdMax.Top 
    cmdClose.Move imgTopHead.Width - 390, 60 
    'левый нижний угол 
    imgDnLt.Move 0, Me.Height - imgDnLt.Height - Screen.TwipsPerPixelY 
    'правый нижний угол 
    imgDnRt.Move Me.Width - imgDnRt.Width - Screen.TwipsPerPixelX, Me.Height - imgDnRt.Height 
    'левая граница 
    imgFrameLt.Move 0, imgTopHead.Height, 5 * Screen.TwipsPerPixelX, Me.Height - imgTopHead.Height - imgDnLt.Height 
    imgFrameLt.Line (0, 0)-(0, imgFrameLt.Height), RGB(223, 223, 223
    imgFrameLt.Line (Screen.TwipsPerPixelX, 0)-(Screen.TwipsPerPixelX, imgFrameLt.Height),
RGB(255, 255, 255
    'правая граница 
    imgFrameRt.Move Me.Width - 5 * Screen.TwipsPerPixelX, imgTopHead.Height, 5 *
Screen.TwipsPerPixelX, Me.Height - imgTopHead.Height - imgDnRt.Height 
    imgFrameRt.Line (2 * Screen.TwipsPerPixelX, 0)-(2 * Screen.TwipsPerPixelX, imgFrameRt.Height),
RGB(127, 127, 127)    
    imgFrameRt.Line (3 * Screen.TwipsPerPixelX, 0)-(3 * Screen.TwipsPerPixelX, imgFrameRt.Height),
RGB(0, 0, 0
    'нижняя граница 
    imgFrameDn.Move imgDnLt.Width, Me.Height - imgFrameDn.Height - Screen.TwipsPerPixelY, Me.Width - imgDnLt.Width - imgFrameRt.Width, 5 * Screen.TwipsPerPixelY 
    imgFrameDn.Line (0, imgFrameDn.Height - Screen.TwipsPerPixelY)-(imgFrameDn.Width, imgFrameDn.Height - Screen.TwipsPerPixelY), RGB(0, 0, 0
    imgFrameDn.Line (0, imgFrameDn.Height - 2 * Screen.TwipsPerPixelY)-(imgFrameDn.Width, imgFrameDn.Height - 2 *
Screen.TwipsPerPixelY), RGB(127, 127, 127
    'область меню 
    imgMenu.Move imgFrameLt.Width, imgTopHead.Height, Me.Width - imgFrameLt.Width - imgFrameRt.Width, 800 
    'Клиетская область 
    ClientArea.Move imgFrameLt.Width, imgMenu.Top + imgMenu.Height, Me.Width - imgFrameLt.Width - imgFrameRt.Width, Me.Height - imgTopHead.Height - imgMenu.Height - imgDnRt.Height - imgButt.Height 
    'Функциональные кнопки 
    imgButt.Move imgFrameLt.Width, ClientArea.Top + ClientArea.Height, Me.Width - imgFrameLt.Width - imgFrameRt.Width 
    'border 
    imgTopHead.DrawWidth = 1 
    imgTopHead.ScaleWidth = imgTopHead.Width
imgTopHead.Line (0, 0)-(0, imgTopHead.Height), RGB(223, 223, 223
    imgTopHead.Line (Screen.TwipsPerPixelX, Screen.TwipsPerPixelY)-(Screen.TwipsPerPixelX, imgTopHead.Height),
RGB(255, 255, 255
    imgTopHead.Line (imgTopHead.Width - 2 * Screen.TwipsPerPixelX, Screen.TwipsPerPixelY)-(imgTopHead.Width -
2 * Screen.TwipsPerPixelX, imgTopHead.Height), RGB(127, 127, 127
    imgTopHead.Line (imgTopHead.Width - Screen.TwipsPerPixelX, 0)-(imgTopHead.Width - Screen.TwipsPerPixelX, imgTopHead.Height),
RGB(0, 0, 0
    imgTopHead.Line (0, 0)-(imgTopHead.Width, 0), RGB(223, 223, 223
    imgTopHead.Line (Screen.TwipsPerPixelX, Screen.TwipsPerPixelY)-(imgTopHead.Width - Screen.TwipsPerPixelX, Screen.TwipsPerPixelY), RGB(255, 255,
255
    imgTopHead.Line (Screen.TwipsPerPixelX, imgTopHead.Height - Screen.TwipsPerPixelY)-(imgTopHead.Width -
Screen.TwipsPerPixelX, imgTopHead.Height - Screen.TwipsPerPixelY), RGB(191,
0, 63
   'left lines 
    imgTopHead.Line (375, 120)-(750, 120), RGB(223, 223, 223
    imgTopHead.Line (375, 135)-(750, 135), RGB(127, 127, 127
    imgTopHead.Line (375, 180)-(750, 180), RGB(223, 223, 223
    imgTopHead.Line (375, 195)-(750, 195), RGB(127, 127, 127
    imgTopHead.Line (375, 240)-(750, 240), RGB(223, 223, 223
    imgTopHead.Line (375, 255)-(750, 255), RGB(127, 127, 127
    FormCapt.Move 850, 60 
    'right lines 
    imgTopHead.Line (FormCapt.Left + FormCapt.Width + 60, 120)-(imgTopHead.Width - 1200, 120), RGB(223,
223, 223
    imgTopHead.Line (FormCapt.Left + FormCapt.Width + 60, 135)-(imgTopHead.Width - 1200, 135), RGB(127,
127, 127
    imgTopHead.Line (FormCapt.Left + FormCapt.Width + 60, 180)-(imgTopHead.Width - 1200, 180), RGB(223,
223, 223
    imgTopHead.Line (FormCapt.Left + FormCapt.Width + 60, 195)-(imgTopHead.Width - 1200, 195), RGB(127, 127,
127
    imgTopHead.Line (FormCapt.Left + FormCapt.Width + 60, 240)-(imgTopHead.Width - 1200, 240), RGB(223,
223, 223
    imgTopHead.Line (FormCapt.Left + FormCapt.Width + 60, 255)-(imgTopHead.Width - 1200, 255), RGB(127,
127
, 127
End Sub
Рубрики:  VBasic

.

Вторник, 31 Октября 2006 г. 15:36 + в цитатник
Звездная_мышка все записи автора  (32x32, 1Kb)

! На форме помещаем следущие элементы: 


PictureBox.Name="imgTopLt
    AutoSize = -1 ' True 
    BorderStyle = 0 ' None
    Picture = "Растровое изображение для верхнего левого угла


PictureBox.Name="imgTopRt"
     AutoSize = -1 ' True
     BorderStyle = 0 ' None
     Picture = "Растровое изображение для верхнего правого угла


PictureBox.Name="imgDnLt"
     AutoSize = -1 ' True
     BorderStyle = 0 ' None
     Picture = "Растровое изображение для нижнего левого угла"
     MousePointer = 6 ' Size NE SW 


PictureBox.Name="imgDnRt"
     AutoSize = -1 ' True
     BorderStyle = 0 ' None
     Picture = "Растровое изображение для нижнего правого угла"
     MousePointer = 8 'Size NW SE 



! Нижние левый и правый углы служат дополнительно для изменения положения и размера окна
 

PictureBox.Name="imgFrameLt"
     AutoSize = -1 ' True
     BorderStyle = 0 ' None
     Picture = "(None)" ' Оставляем пустой, рамка будет рисоваться программно
     MousePointer = 9 ' Size W E


PictureBox.Name="imgFrameRt"
     AutoRedraw = -1 ' True
     BorderStyle = 0 'None
     Picture = "(None)" 'Оставляем пустой, рамка будет рисоваться программно
     MousePointer = 9 'Size W E 


PictureBox.Name="imgFrameDn"
     AutoRedraw = -1 'True
     BorderStyle = 0 'None
     Picture = "(None)" 'Оставляем пустой, рамка будет рисоваться программно
     MousePointer = 7 'Size N S 


! Рамки тоже несут двойную нагрузку, ими так же можно изменять положение и размер окон 

PictureBox.Name="imgTopHead"
     AutoRedraw = -1 'True
     BorderStyle = 0 'None 


! На этом элементе располагаем метку для заголовка окна
 

Label.Name="lblFormCapt"
     AutoSize = -1 'True
     BackStyle = 0 'Transparent
     Caption = "MyForm" 'Здесь будет отображаться заголовок приложения
     ForeColor = &H00FF0000& 'Цвет для заголовка 





! Важно: В элементе lblFormCapt

хранится заголовок отображаемый на форме 
! В свойствах формы
Form.Caption хранится заголовок отображаемый на панели задач при

Form.ShowInTaskbar
="True" 
! Обычно он должен быть одинаковым, однако в нашем случае мы можем задать его разным: 
! Например, на панели задач отобразить в короткой форме типа "
MyApication", 
! а на форме более подробно: "
MyApication:Открытый файл


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


PictureBox.Name="cmdMin"
     AutoSize = -1 'True
     BorderStyle = 0 'None
     Picture = "Растровое изображение кнопки минимизировать


PictureBox.Name="cmdMax"
     AutoSize = -1 'True
     BorderStyle = 0 'None
     Picture = "Растровое изображение кнопки максимизировать


PictureBox.Name="cmdRest"
     AutoSize = -1 'True
     BorderStyle = 0 'None
     Picture = "Растровое изображение кнопки восстановить"
     Visible = 0 'False 


PictureBox.Name="cmdClose"
     AutoSize = -1 'True
     BorderStyle = 0 'None
     Picture = "Растровое изображение кнопки закрыть"


! Так как мы задали BorderStyle=0, стандартное меню нам больше не доступно, будем создавать его сами


PictureBox.Name="imgMenu"
     BorderStyle = 0 'None

! Область для текстового меню

PictureBox.Name="imgToolBar"
     BorderStyle = 0 'None


! Область для пиктографического меню


PictureBox.Name="imgButt"
     BorderStyle = 0 'None


! Область для отображения функциональных кнопок


PictureBox.Name="imgStatusBar"
     BorderStyle = 0 'None


! Область для строки состояния 
! В зависимости поставленной задачи или желания программиста могут присутствовать или нет


PictureBox.Name="ClientArea"
     BackColor = &H00E1DFDF&


! Клиентская область где будут располагаться все остальные элементы вашего приложения
! Примечание: Расположение элементов на форме при проектировании не имеет роли, так как их положение
будут определятся программно.
Рубрики:  VBasic

.

Понедельник, 30 Октября 2006 г. 15:22 + в цитатник
Звездная_мышка все записи автора  (32x32, 0Kb)
Идея реализации.
1) Создаем обычную форму и задаем параметр BorderStyle=0-None.
2) Внешний вид (бордюры, заголовок, меню, кнопки) рисуем сами.
3) Изпользуя функции API создаем процедуры изменения размеров и положения окна.


Рубрики:  VBasic

.

Вторник, 24 Октября 2006 г. 16:18 + в цитатник
Звездная_мышка все записи автора И так начнем...
Вам нравятся примитивные виндосовские окна?
Мне лично нет. Другие ОС в этом плане значительно ушли вперед...
Но тем не мение, для своих собственных приложений вы можете выбрать что-нибудь получше, например вот так:
 (700x460, 54Kb)
Рубрики:  VBasic

Проба

Среда, 18 Октября 2006 г. 08:01 + в цитатник
Решила поделится с миром идеями


Поиск сообщений в _Программирование_
Страницы: [1] Календарь