C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Подробности - Стили окна / MFC в подробностях / Visual C++

Подробности - Стили окна

При создании окна, в конструкторе будущего окна мы делаем примерно следующее:

CMainWin::CMainWin( )
{
	Create(NULL, "My Programm", WS_OVERLAPPEDWINDOW);
}

Что же такое это WS_ ?

На самом деле за приставкой WS_ скрывается стиль будущего окна. Ниже идет набор стилей. При задании набора стилей нужно использовать оператор побитового сложения OR ( | );

  • WS_BORDER - Создание окна с рамкой.
  • WS_CAPTION - Создание окна с заголовком (невозможно использовать одновременно со стилем WS_DLGFRAME).
  • WS_CHILD
    WS_CHILDWINDOW
    - Создание дочернего окна (невозможно использовать одновременно со стилем WS_POPUP).
  • WS_CLIPCHILDREN - Исключает область, занятую дочерним окном, при выводе в родительское окно.
  • WS_CLIPSIBLINGS - Используется совместно со стилем WS_CHILD для отрисовки в дочернем окне областей клипа, перекрываемых другими окнами.
  • WS_DISABLED - Создает окно, которое недоступно.
  • WS_DLGFRAME - Создает окно с двойной рамкой, без заголовка.
  • WS_GROUP - Позволяет объединять элементы управления в группы.
  • WS_HSCROLL - Создает окно с горизонтальной полосой прокрутки.
  • WS_MAXIMIZE - Создает окно максимального размера.
  • WS_MAXIMIZEBOX - Создает окно с кнопкой развертывания окна.
  • WS_MINIMIZE
    WS_ICONIC
    - Создает первоначально свернутое окно (используется только со стилем WS_OWERLAPPED).
  • WS_MINIMIZEBOX - Создает окно с кнопкой свертывания.
  • WS_OVERLAPPED - Создает перекрывающееся окно (которое, как правило, имеет заголовок и WS_TILED рамку).
  • WS_OVERLAPPEDWINDOW - Создает перекрывающееся окно, имеющее стили WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, WS_MAXIMIZEBOX.
  • WS_POPUP - Создает popup-окно (невозможно использовать совместно со стилем WS_CHILD.
  • WS_POPUPWINDOW - Создает popup-окно, имеющее стили WS_BORDER, WS_POPUP, WS_SYSMENU.
  • WS_SYSMENU - Создает окно с кнопкой системного меню (можно использовать только с окнами имеющими строку заголовка).
  • WS_TABSTOP - Определяет элементы управления, переход к которым может быть выполнен по клавише TAB.
  • WS_THICKFRAME - Создает окно с рамкой, используемой для изменения
  • WS_SIZEBOX - размера окна.
  • WS_VISIBLE - Создает первоначально неотображаемое окно.
  • WS_VSCROLL - Создает окно с вертикальной полосой прокрутки.

Ниже идет программа реализующая окно Windows. При помощи неё поэкспериментируйте со стилями, названными выше.

// My.h
class CMainWin : public CFrameWnd	// Класс создания окна
{
public:
	CMainWin();		// Конструктор
	DECLARE_MESSAGE_MAP()	// Объявление очереди сообщений
};

class CMainApp : public CWinApp	// Класс создания приложения
{
public:
	BOOL InitInstance();	// Точка начала работы приложения
};

// My.cpp
#include <afxwin.h>		// Подключение библиотеки MFC
#include "skelet.h"		// Содержит определения классов

CMainWin::CMainWin()		// Реализация конструктора
{
	CRect r;			// Отвечает за размер и позицию окна
	r.top = r.left = 10;	// Расположение окна на экране (сверху и слева)
	r.bottom = r.right = 200;	// Размеры окна

	Create(NULL, "Скелет окна", WS_OVERLAPPEDWINDOW, r);	// Создание окна
}

BOOL CMainApp::InitInstance()	// Вместо функции WinMain() (Только для MFC)
{
	m_pMainWnd = new CMainWin;	// Создание объекта окна
	m_pMainWnd -> ShowWindow(m_nCmdShow);	// Вывод окна
	m_pMainWnd -> UpdateWindow();		// Обновление окна

	return TRUE;		// TRUE, если окно создано
}

// Реализация очереди сообщений. (пока она пустая)
BEGIN_MESSAGE_MAP(CMainWin, CFrameWnd)

END_MESSAGE_MAP()

// Создание экземпляра приложения
CMainApp App;

Материал прислал Dmitry (astra@mail.iks.ru).


| |
Автор Каев Артем.
[AD]