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

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

getFirstSheet()
getActiveSheet()
getNextSheet()
...
Рейтинг: 0 / 0
31.05.2007, 12:55
    #34564292
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
Филипп.Эта идея ОРТОГОНАЛЬНА концепции 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
31.05.2007, 13:09
    #34564366
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
AISПробовал. В списке из N-го числа окон, открывается только "предыдущее открытое", а потом снова то с которого был переход на это "предыдущее открытое". Т.е. получается цикл.
Ну и? Такое поведение и было задумано. В Windows между задачами по alt+tab по такому же принципу переключается.
...
Рейтинг: 0 / 0
31.05.2007, 13:11
    #34564373
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
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
31.05.2007, 18:28
    #34565854
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
Ну положим n_cst_winsrv_sheetmanager (PFC) в решении этой проблемы не поможет вообще.
Тот менеджер, который РВ создает в Template MDI application , и то больше в тему...
...
Рейтинг: 0 / 0
31.05.2007, 18:52
    #34565913
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
Можно уточнить, а какое именно движение по списку окон вам надо?
Ctrl+Tab, Ctrl+Shift+Tab и Ctrl+F6, Ctrl+Shift+F6 вас чем не устраивает?


---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
31.05.2007, 19:20
    #34565978
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
Не, все-таки неправильно подстраиваться под неправильные привычки пользователей
Правильно разработать новую концепцию действий пользователей
Кстати, зря на Филиппа наезжаете, резковато конечно, но абсолютно верно направление подмечает
--------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
31.05.2007, 19:40
    #34566028
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
ФилиппНу положим 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
31.05.2007, 19:41
    #34566029
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
spas2001Не, все-таки неправильно подстраиваться под неправильные привычки пользователей
Правильно разработать новую концепцию действий пользователей
+1
...
Рейтинг: 0 / 0
31.05.2007, 20:17
    #34566120
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
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
31.05.2007, 20:51
    #34566186
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
White OwlМожно уточнить, а какое именно движение по списку окон вам надо?
Ctrl+Tab, Ctrl+Shift+Tab и Ctrl+F6, Ctrl+Shift+F6 вас чем не устраивает?


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


Движение до полного "отката назад" (по аналогии Ctrl+Z) до первого открытого окна, ну и аналогичное движение вперед до последнего открытого окна.
Или в тулбар, или в статус бар запузыриваешь VCR control, а дальше Тот менеджер, который РВ создает в Template MDI application
...
Рейтинг: 0 / 0
01.06.2007, 15:19
    #34568247
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список окон в MDI
Код: 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
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Список окон в MDI / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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