| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Положение формы при изменении её модальности

Положение формы при изменении её модальности

Ответ
Поиск в этой теме
Непрочитано 26.08.2011, 21:47 #1
Положение формы при изменении её модальности
shprot
 
Регистрация: 08.02.2011
Сообщений: 33

Меняю модальность формы с не модального на модальное, после чего нужно что-бы форма была перемещена в другое место, но этого не происходит. Если менять модальность наоборот, с модального на не модальное все работает. Т.е. после изменения модальности происходит ка-бы блокирование любых действий, которые срабатывают только после закрытия формы. Заранее спасибо.

Код:
[Выделить все]
Private Sub CommandButton1_Click()
Me.Hide
Me.Show 1
Me.Left = 50
Me.top = 50
End Sub
Просмотров: 3605
 
Непрочитано 26.08.2011, 22:20
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Измени положение, после чего включай модальность.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 26.08.2011, 22:41
#3
shprot


 
Регистрация: 08.02.2011
Сообщений: 33


Нет, после изменения модальности форма всегда располагается в центре экрана.
shprot вне форума  
 
Непрочитано 26.08.2011, 23:15
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от shprot Посмотреть сообщение
изменения модальности
Что под этим подразумевается? Форма может быть открыта в модальном или не модальном режиме. Если она уже открыта, то изменение обозначенного статуса невозможно (насколько я знаю), т.к. свойство Modal доступно только для чтения. Во всяком случае в WinForms (.Net).

Если под столь кривым термином подразумевается открытие окна в модальном режиме, то ты должен знать, что до тех пор, пока модальное окно не будет закрыто, выполнение следующей строки кода не начнётся. Если бы окно было открыть немодальным - тогда код выполнялся бы (что и происходит в описанной тобою ситуации). Делаю вывод - в теме ты не рубишь абсолютно. Для того, чтобы получить то, о чём спрашиваешь - тебе следует подписаться на нужное событие (например открытие окна или нажатие кнопки), в ответ на которое должен вызываться твой код. Вот тогда всё отработает как нужно. Пример (правда на C#):
Код:
[Выделить все]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using acad = Autodesk.AutoCAD.ApplicationServices.Application;
using System.Windows.Forms;
using System.Drawing;

[assembly: CommandClass(typeof(AcadDbTestSelection.Class1))]

namespace AcadDbTestSelection {
    public class Class1 {
        Form frm;
        [CommandMethod("test", CommandFlags.Modal)]
        public void Test() {
            Document dwg = acad.DocumentManager.MdiActiveDocument;
            Database db = dwg.Database;
            Editor ed = dwg.Editor;
            frm = new Form();
            frm.Text = "Test";
            frm.Location = new Point(300, 100);
            Button btn = new Button();
            btn.Size = new Size(50, 50);
            btn.Text = "Move Form!";
            frm.Controls.Add(btn);
            btn.Location = new Point(50, 25);
            btn.Click += new EventHandler(btn_Click);
            frm.ShowDialog();
        }

        void btn_Click(object sender, EventArgs e) {
            frm.Location = new Point(100, 300);
        }
    }
}
Открывается модальное окно, на нём кнопка. Жмёшь кнопку - окно перемещается. Т.о. всё пашет, нужно только понимать что и как работает.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 27.08.2011, 00:18
#5
shprot


 
Регистрация: 08.02.2011
Сообщений: 33


Цитата:
Что под этим подразумевается? Форма может быть открыта в модальном или не модальном режиме. Если она уже открыта, то изменение обозначенного статуса невозможно (насколько я знаю), т.к. свойство Modal доступно только для чтения. Во всяком случае в WinForms (.Net).
Речь идет о VBA.
Изначально форма когда была открыта, была не модальной.

Код:
[Выделить все]
Me.Hide 'это скрытие окна
Me.Show 1 ' это отображение окна уже в модальном виде.
shprot вне форума  
 
Непрочитано 27.08.2011, 00:21
#6
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686


Цитата:
Сообщение от shprot Посмотреть сообщение
Нет, после изменения модальности форма всегда располагается в центре экрана.
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 305
Размер:	28.1 Кб
ID:	65285  
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 27.08.2011, 01:15
#7
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848


Автор молодец, не указал ни в каком языке идет код, ни в какой версии AutoCAD, ни сам код... Теперь профессионалы ломают головы и копья, пытаясь ему помочь.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 27.08.2011, 11:58
#8
shprot


 
Регистрация: 08.02.2011
Сообщений: 33


AlexV большое спасибо, все оказывается проще не куда, даже не удобно что из-за такой ерунды тему создал.
shprot вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Положение формы при изменении её модальности

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание нового типа линий Apelsinov AutoCAD 915 08.07.2022 12:36
Положение нейтральной линии в сечении при косом изгибе при пластической деформации Airborne Конструкции зданий и сооружений 3 14.02.2011 10:45
Почему листовой шарнир такой формы? Paladin90 Конструкции зданий и сооружений 8 23.01.2011 15:37
Вписывание текстуры в грань произвольной формы hikkikamori AutoCAD 1 11.05.2009 00:13
Типовые проекты на малые архитектурные формы и элементы благ Esperansa Разное 1 24.04.2007 13:02