powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Список окон в MDI
16 сообщений из 16, страница 1 из 1
Список окон в MDI
    #34562560
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать в MDI функциональность движения по списку окон (назад/вперед) по аналогии с Internet Explorer?
...
Рейтинг: 0 / 0
Список окон в MDI
    #34562581
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эта идея ОРТОГОНАЛЬНА концепции MDI, посему делать этого не следует :-)
...
Рейтинг: 0 / 0
Список окон в MDI
    #34562745
rcryo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
концепция ортогональна и тем не менее реализована в небезызвестном продукте Sybase PowerDesigner
реализуется с помощью менеджера окон, в котором регистрируется каждое открытое окно.(Боюсь последует вопрос что такое менеджер окон и где его взять... ну это вы как нибудь сами подумайте.)

Что мне нравится в Филиппе, это категоричность утверждений, мне бы так. =)
...
Рейтинг: 0 / 0
Список окон в MDI
    #34563588
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно пользовать ф-ции

getFirstSheet()
getActiveSheet()
getNextSheet()
...
Рейтинг: 0 / 0
Список окон в MDI
    #34564292
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп.Эта идея ОРТОГОНАЛЬНА концепции MDI, посему делать этого не следует :-)
Вы знаете, когда-то я тоже так думал, когда не знал для чего мне это понадобится. Всегда можно достичь большего, чем закладывалось "автором концепции", если хотя бы оглянуться по сторонам =)


Dmitry.можно пользовать ф-ции

getFirstSheet()
getActiveSheet()
getNextSheet()

Пробовал. В списке из N-го числа окон, открывается только "предыдущее открытое", а потом снова то с которого был переход на это "предыдущее открытое". Т.е. получается цикл.

К примеру, список в MDI: w1, w2, w3, w4, "w5
а используя вышеуказанные функции получаем список уже другой: w5, w1, w2, w3, w4
и вы с "w5 используя getNextSheet() сделали переход на следующее окно, то список будет выглядеть теперь: w3, w1, w2, w4, w5 (а в MDI: w1, w2, "w3, w4, w5)
т.к. на w5 вы перешли с w3.

Теперь если снова вызвать getNextSheet(), то получим снова: w5, w1, w2, w3, w4 (а в MDI: w1, w2, w3, w4, "w5)
...
Рейтинг: 0 / 0
Список окон в MDI
    #34564366
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISПробовал. В списке из N-го числа окон, открывается только "предыдущее открытое", а потом снова то с которого был переход на это "предыдущее открытое". Т.е. получается цикл.
Ну и? Такое поведение и было задумано. В Windows между задачами по alt+tab по такому же принципу переключается.
...
Рейтинг: 0 / 0
Список окон в MDI
    #34564373
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS Dmitry.можно пользовать ф-ции

getFirstSheet()
getActiveSheet()
getNextSheet()

Пробовал...
rcryo реализуется с помощью менеджера окон , в котором регистрируется каждое открытое окно.

PowerBuilder Helpn_cst_winsrv_sheetmanager

Description

Sheet management service. The service provides events that are called by PFC menu items to manage multiple sheet display, including the ability to undo a sheet arrangement command. It also provides functions allowing you to access open sheets.

Library

PFCWNSRV.PBL
PFEWNSRV.PBL

Object relationships

w_master

Usage

Enable the sheet management service for all multiple-sheet MDI applications. You don't need this service if your MDI application uses a single-sheet frame.
To use the sheet management service:

1 Create an instance of n_cst_winsrv_sheetmanager by calling the w_frame of_SetSheetManager function.
2 Call n_cst_sheetmanager functions as needed to access information on open sheets.
...
Рейтинг: 0 / 0
Список окон в MDI
    #34565854
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну положим n_cst_winsrv_sheetmanager (PFC) в решении этой проблемы не поможет вообще.
Тот менеджер, который РВ создает в Template MDI application , и то больше в тему...
...
Рейтинг: 0 / 0
Список окон в MDI
    #34565913
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно уточнить, а какое именно движение по списку окон вам надо?
Ctrl+Tab, Ctrl+Shift+Tab и Ctrl+F6, Ctrl+Shift+F6 вас чем не устраивает?


---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Список окон в MDI
    #34565978
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, все-таки неправильно подстраиваться под неправильные привычки пользователей
Правильно разработать новую концепцию действий пользователей
Кстати, зря на Филиппа наезжаете, резковато конечно, но абсолютно верно направление подмечает
--------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Список окон в MDI
    #34566028
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппНу положим n_cst_winsrv_sheetmanager (PFC) в решении этой проблемы не поможет вообще.
Тот менеджер, который РВ создает в Template MDI application , и то больше в тему...Гм...

PowerBuilder Helpof_GetSheets function


Description

Populates an array with a frame's open sheets.

Access

Public

Syntax

instancename . of_GetSheets ( sheets )

Argument Description
instancename Instance name of n_cst_winsrv_sheetmanager (the w_frame default is inv_sheetmanager)
sheets Array of windows into which the function places the open sheets (passed by reference)
Return value

Integer. Returns the number of open sheets.

Usage

Call this function to determine the number of open sheets and to populate an array containing the handles for all open sheets.


Дальше работаем с массивом.
...
Рейтинг: 0 / 0
Список окон в MDI
    #34566029
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001Не, все-таки неправильно подстраиваться под неправильные привычки пользователей
Правильно разработать новую концепцию действий пользователей
+1
...
Рейтинг: 0 / 0
Список окон в MDI
    #34566120
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99[Гм...

PowerBuilder Help of_GetSheets function


Description

Populates an array with a frame's open sheets.
Дальше работаем с массивом.
Ага, а это что?:
Пробовал. В списке из N-го числа окон, открывается только "предыдущее открытое", а потом снова то с которого был переход на это "предыдущее открытое". Т.е. получается цикл.

К примеру, список в MDI: w1, w2, w3, w4, "w5
а используя вышеуказанные функции получаем список уже другой: w5, w1, w2, w3, w4
и вы с "w5 используя getNextSheet() сделали переход на следующее окно, то список будет выглядеть теперь: w3, w1, w2, w4, w5 (а в MDI: w1, w2, "w3, w4, w5)
т.к. на w5 вы перешли с w3.

Теперь если снова вызвать getNextSheet(), то получим снова: w5, w1, w2, w3, w4 (а в MDI: w1, w2, w3, w4, "w5)
...
Рейтинг: 0 / 0
Список окон в MDI
    #34566186
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlМожно уточнить, а какое именно движение по списку окон вам надо?
Ctrl+Tab, Ctrl+Shift+Tab и Ctrl+F6, Ctrl+Shift+F6 вас чем не устраивает?


Движение до полного "отката назад" (по аналогии Ctrl+Z) до первого открытого окна, ну и аналогичное движение вперед до последнего открытого окна.
...
Рейтинг: 0 / 0
Список окон в MDI
    #34566196
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIS White OwlМожно уточнить, а какое именно движение по списку окон вам надо?
Ctrl+Tab, Ctrl+Shift+Tab и Ctrl+F6, Ctrl+Shift+F6 вас чем не устраивает?


Движение до полного "отката назад" (по аналогии Ctrl+Z) до первого открытого окна, ну и аналогичное движение вперед до последнего открытого окна.
Или в тулбар, или в статус бар запузыриваешь VCR control, а дальше Тот менеджер, который РВ создает в Template MDI application
...
Рейтинг: 0 / 0
Список окон в MDI
    #34568247
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
//Prev window
send( handle(w_mdi_frame.mdi_1), /*WM_MDINEXT*/  548 ,  0 ,  0  )
//Next window
send( handle(w_mdi_frame.mdi_1), /*WM_MDINEXT*/  548 ,  0 ,  1  )
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Список окон в MDI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]