Как разместить .net UserControl на c ++ в Visual Studio 6 - PullRequest
0 голосов
/ 14 мая 2009

Моя задача довольно проста - создать пользовательский контроль .net и использовать его в старом проекте Visual Studio 6.

Я создал usercontrol (это просто пользовательский элемент управления с меткой), затем я последовал этому руководству (http://support.microsoft.com/kb/828736) и, кажется, он работает нормально. Но как я могу отобразить usercontrol? Нужно ли мне использовать CreateControl, и как мне это сделать?

.net выглядит так:

namespace dotnetcotrol {

public interface dotnetcontrol
{
    void setText(string str);
}
public partial class dontnetcontrolClass : UserControl, dotnetcontrol
{

    public dontnetcontrolClass()
    {
        InitializeComponent();
    }

    public void setText(string str)
    {
        label1.Text = str;
    }
}

}

И код на С ++ выглядит почти так же, как в примере с MS, однако мой проект - это проект Window MFC.

Ответы [ 2 ]

0 голосов
/ 14 мая 2009

Для чего-то такого простого, почему бы не написать свой собственный класс, который наследует CWnd? Есть ли причина, по которой элементом управления должен быть .Net UserControl?

Тем не менее, я бы выбрал путь для размещения элемента управления .Net в форме VC ++ 6 для обратного проектирования источника класса CWinFormsUserControl VC ++ 8 (VC ++ 2005). Если у вас установлена ​​Visual Studio 2005 с VC ++, у вас есть источник для этого класса в папке% PROGRAMFILES% \ Microsoft Visual Studio 8 \ VC \ atlmfc \ src \ mfcm.

0 голосов
/ 14 мая 2009

UserControls добавляются в формы для отображения, а не просто "показываются"

Form.Controls.Add(myUserControl);

Однако это будет иначе, если вы используете форму, отличную от .NET

...