Книга: Программирование КПК и смартфонов на .NET Compact Framework
Многострочный текст в кнопке
Разделы на этой странице:
Многострочный текст в кнопке
По умолчанию текст для кнопок может содержать только одну строку. Но при желании можно изменить этот стиль с помощью функций GetWindowLong
и SetWindowLong
, как показано в листинге 4.3.
Листинг 4.3
[DllImport("coredll.dll")]
private static extern IntPtr GetCapture();
[DllImport("coredll.dll")]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("coredll.dll")]
private static extern int SetWindowLong(IntPtr hWnd, int nIndex,
int dwNewLong);
public const int GWLSTYLE = -16;
// стиль многострочного текста
public const int BS_MULTILINE = 0x2000;
private void Form1_Load(object sender, EventArgs e) {
IntPtr hWnd;
int style;
this.butMultiline.Capture = true;
hWnd = GetCapture();
this.butMultiline.Capture = false;
style = GetWindowLong(hWnd, GWL_STYLE);
SetWindowLong(hWnd, GWL_STYLE, style | BS_MULTILINE);
}
В этом примере для сравнения использовались две кнопки. На каждой из них размещен достаточно длинный текст (рис. 4.2).
Рис. 4.2. Вид кнопок в процессе программирования
При загрузке формы выполняется изменение стиля для первой кнопки butMultiline
, а вторая кнопка остается без изменений. После запуска приложения можно заметить, что длинный текст в первой кнопке разбивается на две строки и полностью умещается в границах кнопки. Во второй кнопке слова обрезаются, и текст просто нельзя прочитать (рис. 4.3).
Рис. 4.3. Создание многострочного текста на кнопке
ВНИМАНИЕ
Данный пример был написан еще для .NET Compact Framework 1.0. В .NET Compact Framework 2.0 нет надобности вызывать функцию GetCapture() для получения дескриптора hWnd, так как теперь поддерживается свойство Control.Handle.
- Текстовые поля
- Управление полосой прокрутки
- Многострочный текст в кнопке
- Увеличение ширины выпадающего списка ComboBox
- ListBox
- ListView
- Создание кнопки, содержащей изображение
- Список с расширенными возможностями
- Текстовое поле для ввода чисел
- Сортировка элементов ListView
- Использование элемента DateTimePicker
- Текстовое поле для ввода чисел
- Когда нужен постскриптум в бизнес-тексте?
- Текст по законам жанра
- Набор текста
- «Высшая математика» в тексте
- 13.3.4. Поиск и замена текста
- Тексты для блогов и соцсетей
- 1.2 Процесс, контекст процесса и потоки
- 6.2. Заработок на контекстной рекламе Google AdSense
- 7.6. Оценка эффективности рекламного текста
- Особенности оформления текста книги
- Часть III Текст