Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по компонентам для Delphi, C++ Builder

Автор: SergeBS
Дата сообщения: 20.01.2006 11:48
enola
А ты заполнял хоть одну строчку в MainMenu? IMHO нет. Менюшка есть - просто пустая. Без пунктов. Так и должно быть.
Автор: vshersh
Дата сообщения: 20.01.2006 11:49
Ariy
_http://www.raize.com/DevTools/RzComps/Default.asp
Официальный сайт
Автор: enola
Дата сообщения: 20.01.2006 13:14
SergeBS
IMHO да, что я MainMenu никогда не делал!
Под строкой меню в приложении появляется пустая серая строка, у меня четыре пукта меню (Файл, Документы, Окно, Справка) так вот, когда сумма букв названий пунктов <= 21 тогда эта строчка исчезает, просто ума не приложу что это такое, баг какой-то! т.е. когда например: Файл, Докуме, Окно, Справка, или Файл, Документ, Окно, Справ вот тогда строчки снизу нет!
Автор: reanimator73
Дата сообщения: 20.01.2006 13:39
С Menu таково быть не должно, попробуй сделать новый проект с одним только меню, и поэкспереминтируй
Автор: enola
Дата сообщения: 20.01.2006 13:57
Народ да я уже два дня эксперементирую.
Со стандартным все впорядке, все получается, а вот с suiMainMenu косяк какой-то!
Вот мой порядок действий:
1. Стандартное приложение
2. Меняем цвет формы на какой-нибудь отличный от серего, например белый
3. Кидаем suiMDIForm1
4. Кидаем suiMainMenu1
5. Добавляем меню из шаблона MDI Frame Menu (для примера)
6. Меняем Caption пункта Help1 (для примера) на Help123456789
7. Подключаем suiMainMenu1 к suiMDIForm1
8. Запускаем и радуемся появившемуся меню, а под ним пустой серой строчке!!!

Пробовал на разных машинах, с разными осями (Win2K SP4, WinXP SP2)

вот , что делать?

З.Ы. только с suiMDIForm, с suiForm такого глюка нет!

Добавлено:
Нашел лекарство аллилуя
при загрузке формы пишу:

Код: suiMDIForm->UpdateMenu();
Автор: reanimator73
Дата сообщения: 20.01.2006 14:23
Нашел в чем проблемма в suiMenu, сделал по твоему описанию только сам меню написал, все нормально. Потом удалил часть элементов и запустил приложение и уаля ни чего не увидел, хотя толжны были несколько пунктов остаться. Как лечить: в suiMDIForm в Menu убираеш ссылку на suiMainMenu жмеш интер. Потом опять выбираеш из списка suiMainMenu, запускаешь приложение и все становиться ОК.
Автор: enola
Дата сообщения: 20.01.2006 14:33
вот у меня так не получается, как ты написал.
у меня меню тоже ручками сделано!
у тебя серая строка вообще появляется?
Автор: xokc
Дата сообщения: 21.01.2006 10:32
Кто-нибудь знает как сделать popup-menu полупрозрачным?
Автор: gpi
Дата сообщения: 21.01.2006 10:48
xokc
Пример из Delphi World
Код:
var
hHookID: HHOOK;

// function to make the menu transparent
function MakeWndTrans(Wnd: HWND; nAlpha: Integer = 10): Boolean;
type
TSetLayeredWindowAttributes = function(hwnd: HWND; crKey: COLORREF; bAlpha: Byte;
dwFlags: Longint): Longint; stdcall;
const
// Use crKey as the transparency color.
LWA_COLORKEY = 1;
// Use bAlpha to determine the opacity of the layered window..
LWA_ALPHA = 2;
WS_EX_LAYERED = $80000;
var
hUser32: HMODULE;
SetLayeredWindowAttributes: TSetLayeredWindowAttributes;
i : Integer;
begin
Result := False;
// Here we import the function from USER32.DLL
hUser32 := GetModuleHandle('USER32.DLL');
if hUser32 <> 0 then
begin
@SetLayeredWindowAttributes := GetProcAddress(hUser32,'SetLayeredWindowAttributes');
// If the import did not succeed, make sure your app can handle it!
if @SetLayeredWindowAttributes <> nil then
begin
// Check the current state of the dialog, and then add the WS_EX_LAYERED attribute
SetWindowLong(Wnd, GWL_EXSTYLE, GetWindowLong(Wnd, GWL_EXSTYLE) or WS_EX_LAYERED);
// The SetLayeredWindowAttributes function sets the opacity and
// transparency color key of a layered window
SetLayeredWindowAttributes(Wnd, 0, Trunc((255 / 100) * (100 - nAlpha)), LWA_ALPHA);
Result := True;
end;
end;
end;

// hook procedure
function HookCallWndProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall;
const
MENU_CLASS = '#32768';
N_ALPHA = 60;
var
cwps: TCWPStruct;
lRet: THandle;
szClass: array[0..8] of char;
begin
if (nCode = HC_ACTION) then
begin
CopyMemory(@cwps, Pointer(lParam), SizeOf(CWPSTRUCT));
case cwps.message of
WM_CREATE:
begin
GetClassName(cwps.hwnd, szClass, Length(szClass)-1);
// Window name for menu is #32768
if (lstrcmpi(szClass, MENU_CLASS) = 0) then
begin
MakeWndTrans(cwps.hwnd, N_ALPHA {Alphablending});
end;
end;
end;
end;
// Call the next hook in the chain
Result := CallNextHookEx(WH_CALLWNDPROC, nCode, wParam, lParam);
end;

// Install the hook in the OnCreate Handler
procedure TForm1.FormCreate(Sender: TObject);
var
tpid: DWORD;
begin
// Retrieve the identifier of the thread that created the specified window
tpid := GetWindowThreadProcessId(Handle, nil);
// The SetWindowsHookEx function installs an application-defined
// hook procedure into a hook chain
hHookID := SetWindowsHookEx(WH_CALLWNDPROC, HookCallWndProc, 0, tpid);
end;

// Stop the hook in the OnDestroy Handler
procedure TForm1.FormDestroy(Sender: TObject);
begin
if (hHookID <> 0) then
// Removes the hook procedure
UnhookWindowsHookEx(hHookID);
end;
Автор: xokc
Дата сообщения: 21.01.2006 13:40
gpi
Для popupmenu не работает. Для MainMenu работает только после наведения курсора на один из выпавших подменю.

Добавлено:
Расширю вопрос: как перехватить отрисовку рамки popup меню (там где его контур и тень). DrawMenuItem не предлагать - перерисовывает только область, непосредственно связанную с пунктом меню.
Автор: gpi
Дата сообщения: 21.01.2006 14:36
xokc
У меня работает с popupmenu (D7+XP). Данный пример работает в Win200 и XP
Автор: xokc
Дата сообщения: 21.01.2006 15:31
Delphi 2006 & WinXP не работает
Автор: xokc
Дата сообщения: 22.01.2006 13:04
gpi
Будешь смеяться, но высланный тобой пример ведет себя аналогично, т.е.:
Для popupmenu не работает. Для MainMenu работает только после наведения курсора на один из выпавших подменю.
Но все равно - спасибо.
Автор: vez
Дата сообщения: 23.01.2006 13:10

Цитата:
Delphi 2006 & WinXP не работает

Как это?
Прекрасно работает.
Автор: svs123456789
Дата сообщения: 23.01.2006 16:08
поскажите компонент для организации поиска в run time конечным пользователем
(выбор полей . условий, )
Автор: gpi
Дата сообщения: 23.01.2006 16:29
svs123456789
Express QuantumGrid 5
Автор: EZH
Дата сообщения: 23.01.2006 16:32
svs123456789
Всё зависит от того как ты это организуешь
- все данные сначала засасываются в память - тогда решается всё фильтрами DataSet или гриды которую ты используешь, так например в QuantumGrid есть навороченный фильр (плюсы - быстрый поиск, минусы - долго открывается вся таблица, если много данных)
- выполнение SQL запросов к БД при изменении пользователем поля ввода фильтра/поиска, а уж к какому полю БД привязать условие из поля ввода - это ручками.
Автор: svs123456789
Дата сообщения: 24.01.2006 12:29
в базе данных хранятся документы формата html
как бы организовать по ни фильтрацию и поиск (по словам и фразам)?
Автор: xokc
Дата сообщения: 24.01.2006 13:24
svs123456789
Используй Rubicon
Автор: svs123456789
Дата сообщения: 24.01.2006 14:58
а каким способом или комонентом показывать демонстрировать html документы хранящиеся в базе ?
(для офисных документов я использовал OLE контейнер )
Автор: Pentium133
Дата сообщения: 24.01.2006 15:12
А так же как ты делаешь для офисных, не получается?
Автор: EZH
Дата сообщения: 24.01.2006 15:42
svs123456789

Цитата:
а каким способом или комонентом показывать демонстрировать html документы хранящиеся в базе ?
(для офисных документов я использовал OLE контейнер )

Так есть же стандартный компонент в Delphi - WebBrowser, обертка для IE - отлично показывает HTML.
http://delphi.olympus.ru/dk/mastering/tweb.htm
Автор: LulumbaZ
Дата сообщения: 25.01.2006 11:16
Подскажите, кто-нибудь использовал в реальных проектах компонент Asta 3.1 (AstaTech.com) ?
Хотелось реализовать трехзвенку, вроде у AstaServer заточен под многие движки Delphi (SDAC, IBO, FibLus )...
Автор: samusev
Дата сообщения: 25.01.2006 13:38
Доброго дня всем!

Кто использовал Scheduler 2 ДевЭкспресовский совместно в EasyTable? возникают непонятные глюки. События создаются и с ними можно делать все в пределах одной сессии работы с программой. После выхода и повторного запуска - события не редактируются, не удаляются (((

есть решение?
Автор: vshersh
Дата сообщения: 25.01.2006 13:55
Подскажите, пожалуйста, какая версия DevExpress.ExpressPrinting.System совместима с
ExpressQuantumGrid 4.51?


Добавлено:
У кого есть опыт использования библиотеки "Elpack": позволяет ли она работать с русскоязычным приложением под ОС Win9X?
(Имеется ввиду нерусскоязычная винда с некирилической локалью)
Автор: svs123456789
Дата сообщения: 26.01.2006 08:21
2 EZH
спасибо!
Цитата:
WebBrowser


как поместить в базу данных множество сохраненных на диске web страниц
создавать мастер -детайл для хранения gif и прочих встроенных в страницу файлов - не хотелось бы
Автор: RostY
Дата сообщения: 26.01.2006 09:04
сделай страницу в CHM, MHT и сохраняй в БЛОБ
Автор: FRALX
Дата сообщения: 26.01.2006 11:29
Народ а кто-нибудь пользует компонеты построения проиложения по модели (например BOLD) ? Хотелось бы узнать есть ли смысл двигаться в этом направлении ?
Автор: regat
Дата сообщения: 27.01.2006 11:12
Подскажите, есть ли кряк на FastReport. И где его можно взять, очень надо...
Автор: Vitus_Bering
Дата сообщения: 27.01.2006 11:25
regat
Посмотри здесь _http://www2.fixdown.com/en

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Что такое Объектно Ориентное Программирование ?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.