Показать сообщение отдельно
Старый 17.05.2009, 16:33
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 3  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Ну, зачем так далеко ходить за примерами? Стандартный Windows Media Player с его дефлотным скином тоже в качестве примера подойдет.
Окно всегда имеет прямоугольную форму. Нестандартность обеспечивается заданием особых режимов перерисовки содержимого окна. Напимер, задается определенный регион перерисовки, комбинация регионов и т.п.
После графического оформления в скин встраиваются контролы: кнопки (minimize, restore, close), а так же сайзеры, то бишь которые ловят нажатие левой кнопки мышы + драг и шлют окну мессадж навроде WM_SIZING, подменяя таким образом стандартную функцию бордера окна.
У WMP такой контрол расположени в правом нижнем углу скинованного окна.
Честно говоря, не могу сразу себе представить, как такое можно сделать стандартными средствами цинка. Думается, что вряд ли.
Можно попробовать привязать драг флэш-мувиклипа в ролике к mdm.System.SendMessage(), предварительно получив хэндл окна проигрывателя. Но, что-то сомневаюсь.. хватит ли мощностей цинка, что бы обеспечить отсылку нужных сообщений, цинк не все типы данных поддерживат из WinAPI, не говоря уже об указателях и ссылках, максимум - число переслать можно.
Ну, или как вариант скиновать окно самому по приведенной выше схеме, что, конечно, более трудоемкий процесс.
Но, по-любому, цинк не имеет нужного функционала в своем АПИ.