Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C++ Builder / Delphi

Выпуск № 210
от 03.09.2003, 20:00

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 887
Отправлено ответов: 1623
Активность: 182.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Илья
Статус: Опытный
Общий рейтинг: 102.84
[Подробней >>]
Cybernetic Creature
Статус: Доверительный
Общий рейтинг: 119.67
[Подробней >>]
Marouder
Статус: Профессиональный
Общий рейтинг: 119.03
URL: Первый Хабаровский Форум
Телефон: (4212) 21-93-65
[Подробней >>]
 
ART_43
Статус: Доверительный
Общий рейтинг: 121.12
[Подробней >>]
URiS
Статус: Профессиональный
Общий рейтинг: 129.75
URL: Бесплатный любительский софт, игры
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 121.48
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.34
URL: Программирование
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 880. Доброе время суток! Помогите решить проблему. Мне надо сделать что бы у ListBox'a появилась горизонт... (ответов: 2)
Вопрос № 881. Вопрос по TValueListEditor (Delphi7) Как мне получить значение Value? Если не понятно выразился: в о... (ответов: 2)
Вопрос № 882. У мя следующий вопрос. Есть форма, с caption=Form1. На ней есть кнопка (name="Button"). Ка... (ответов: 2)
Вопрос № 884. Недавно я задавал следующий вопрос: "У мя следующий вопрос. Есть форма, с caption=Form1. На ней... (ответов: 3)

Вопросов: 4, ответов: 9


 Вопрос № 880

Доброе время суток!
Помогите решить проблему. Мне надо сделать что бы у ListBox'a появилась горизонтальная прокрутка.
Спасибо!



Вопрос отправлен: 29.08.2003, 22:25
Отправитель: Sergei (prm_serg@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Илья

Доброе время суток, Sergei!
Эта программа создает горизонтальную полосу прокрутки в ListBox так, чтобы все строки компонента умещались.

procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
maxWidth: integer;
begin
maxWidth := 0;
with ListBox1 do
for i := 0 to Items.Count - 1 do
if maxWidth < Canvas.TextWidth(Items.Strings[i])
then maxWidth := Canvas.TextWidth(Items.Strings[i]);
ListBox1.Perform(LB_SETHORIZONTALEXTENT, maxWidth + 10, 0);
end;


Ответ отправлен: 30.08.2003, 00:46
Отправитель: Илья


Отвечает Cybernetic Creature

Добрый день, Sergei!
Компонент VCL TListBox автоматически реализует вертикальную полосу прокрутки.Полоска прокрутки появляется, когда окно списка слишком мало для показа всех элементов списка. Однако окно списка не показывает горизонтальной полосы прокрутки, когда какие-либо элементы списка имеют большую ширину, чем само окно списка.Конечно, есть возможность добавить горизонтальную полосу прокрутки.
Добавьте следующий код в обработчик события OnCreate Вашей формы:
procedure TForm1.FormCreate(Sender: TObject);
var
i, MaxWidth: integer;
begin
MaxWidth := 0;
for i := 0 to ListBox1.Items.Count - 1 do
if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]) then
MaxWidth := ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]);
SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0);
end;
Этот код находит ширину, в пикселах, самой длинной строки в окне списка.Затем он использует сообщение LB_SETHORIZONTALEXTENT для установки горизонтальной прокручиваемой ширины, в пикселах, для окна списка. Два дополнительных пиксела добавлены к MaxWidth,чтобы двинуть оконечные символы от правой границы окна списка.

Ответ отправлен: 01.09.2003, 18:58
Отправитель: Cybernetic Creature


 Вопрос № 881

Вопрос по TValueListEditor (Delphi7)
Как мне получить значение Value?
Если не понятно выразился: в общем моя таблица состоит из
Key | Value |
--------------
01 | abc |
02 | qwerty |
Допустим мы изменили значение abc на bca, как новое значение внести в переменную типа string?
Helpa в делфи нету - читать не отправляйте:)



Вопрос отправлен: 30.08.2003, 14:05
Отправитель: Ландграф Павел

[Следующий вопрос >>] [Список вопросов]

Отвечает Marouder

Приветствую Вас, Ландграф Павел!
А что трудного?
var S:string;
begin
ValueListEditor1.Values['01']:='bca';
S:=ValueListEditor1.Values['01'];
end;

Ответ отправлен: 31.08.2003, 10:31
Отправитель: Marouder


Отвечает ART_43

Здравствуйте, Ландграф Павел!
ValueListEditor1.Values['01']:='bca';

Ответ отправлен: 01.09.2003, 17:20
Отправитель: ART_43


 Вопрос № 882

У мя следующий вопрос. Есть форма, с caption=Form1. На ней есть кнопка (name="Button"). Как мне получить хендл этой кнопки, чтобы потом можно было с ней извращяться (изменение размера, текста кнопки...).



Вопрос отправлен: 30.08.2003, 16:09
Отправитель: maDByte

[Следующий вопрос >>] [Список вопросов]

Отвечает Marouder

Здравствуйте, maDByte!
В каком смысле как?
Свойство Handle.
Button1.Handle


Ответ отправлен: 31.08.2003, 10:32
Отправитель: Marouder


Отвечает URiS

Доброе время суток, maDByte!
1) GetWindowTextA(h)
Перебираешь h и ждёшь, когда она будет равна "Button" *)
2) FindWindow('Button','TButton')
Более нормальный вариант. Просто возвращает нужный handle.

Oxota 2 (Скачать! 803Кб)


Ответ отправлен: 01.09.2003, 15:39
Отправитель: URiS


 Вопрос № 884

Недавно я задавал следующий вопрос: "У мя следующий вопрос. Есть форма, с caption=Form1. На ней есть кнопка (name="Button"). Как мне получить хендл этой кнопки, чтобы потом можно было с ней извращяться (изменение размера, текста кнопки...). "
Но забыл написать самое главное, исполняемый файл, с формой и кнопкой - это отдельный бинарник. Так вот мне нужно получить дескриптор кнопки в чужом окне.
Извините за неточности...



Вопрос отправлен: 31.08.2003, 18:39
Отправитель: maDByte

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Здравствуйте, maDByte!
Не знаю, как это будет действовать с программами, писаными на Delphi/Builder, но если известно название кнопки, можно получить хендл, используя функцию WinAPI:
FindWindowEx(hwndParent, NULL, "BUTTON","Button1")
где hwndParent - хэндл главного окна программы (который также получаешь через FindWindow(FindWindowEx))
"BUTTON" - класс окна (стандартный класс для кнопок)
"Button1" - имя кнопки (имя окна 'BUTTON')

---===*** Updated E-Man 1.5 - it's cool!***===---


Ответ отправлен: 01.09.2003, 00:17
Отправитель: _vt


Отвечает Bob Johnson

Здравствуйте, maDByte!
Тогда ты должен вначале найти главное окно этого файла (FindWindow), после чего уже найти эту кнопку (GetWindow (.., GW_CHILD) и GetWindow (.., GW_HWNDNEXT)). Контроль осуществляй по имени и классу (GetWindowText, GetClassName).

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 01.09.2003, 01:41
Отправитель: Bob Johnson


Отвечает Marouder

Приветствую Вас, maDByte!
FindWindow и FindWindowEx должны тебе помочь.
var hwndform1,hwndbutton:HWND;
begin
hwndform1:=FindWindow('TForm1','Form1');
hwndbutton:=FindWindowEx(hwndform1,0,'TButton','Button');
end;
Подробнее описание FindWindow и FindWindowEx - в Win32 Programmer's Reference

Ответ отправлен: 01.09.2003, 13:22
Отправитель: Marouder



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (38)
C / C++ (31)
Perl (5)
Builder / Delphi (18)
Pascal (22)
Basic / VBA (7)
Java / JavaScript (9)
PHP (10)
Криптография (9)
WinAPI (15)
Пользователю
Windows 95/98/Me (50)
Windows NT/2000/XP (65)
"Железо" (44)
Поиск информации (23)
Администратору
Windows NT/2000/XP (33)
Linux / Unix (10)
Юристу
Гражданское право (11)
Семейное право (7)
Трудовое право (7)
КоАП (6)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное