Гуи приложения в Visual Studio

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _nic, 5 Oct 2009.

  1. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    1.Как вклинится в обработку оконных сообщений.
    2.Какая есть литература? А то нехрина непонятно по каком оно вообще принципу работает :(
     
  2. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    Оно?
    http://social.msdn.microsoft.com/Forums/ru-RU/architecture/thread/7a989ad6-abd4-42c9-b791-42abde5b7c83
     
  3. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    В соседнем треде, ака "Начинаем программировать на..." есть )
     
  4. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Я вообще хз что это.
    Там есть по С и С++.А мне нужно по конкретной среде.По Visual Studio C++
     
  5. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    Щупак "Win32 API"
     
  6. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Читай выше
     
  7. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    твою ж мать, читай книгу. особенности не в среде разработки, а в ядре операционной системы. к среде разработки применимо одно различие - надстройка над графической подсистемой ОС. Например для мс - это мфц. Для борланд - это всл. РТФМ кароч, ибо пока не научишься читать тебе никто не бьудет все разжевывать.
     
    1 person likes this.
  8. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    блин да что ж никто непоймет.Мне не нужна литература о ЯЗЫКАХ или ТЕХНОЛОГИЯХ мне нужна литература о КОНКРЕТНОЙ СРЕДЕ РАЗРАБОТКИ
    По разработке гуи приложений в MS Visual Studio C++
    Потому что:
    1.Я незнаю как в ней меняется свойство компонентов
    2.Мне неясно как обрабатывать события
    И т.д.
     
  9. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    917
    Likes Received:
    174
    Reputations:
    3
    Вопрос правильно ставить надо, я подумал ты про инжект пытаешся узнать.....
    Есть тема начинаем программировать, берешкнигуи читаешь про gui (есть в любой книге ближе к концу)
     
  10. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    омг. ты хоть пробовал читать книжки что тебе посоветовали? Ну свойства менять еще ладно, можно в редакторе ресурсов, нажми View - Resource View. Там нужный тип ресурсов, Дальше View - Properties Window. Все. А по поводу обработки событий - руками их блиа задавать, хоть в блокноте, хоть в чем - главное что руками. А для этого читай, что такое оконная процедура, что такое оконные сообщения, что такое нотифаи элементов управления, что такое основной цикл и прочее прочее прочее.
     
  11. intNet

    intNet Member

    Joined:
    31 May 2009
    Messages:
    29
    Likes Received:
    14
    Reputations:
    5
    Windows кодинг он и в Aфрике windows кодинг. От среды\компилятора тут ничего не зависит. Читай любую книжку по программированию для windows. Кстати, они большинство заточены под студию.
     
  12. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Ппц какие все умные,даже и в африке.А ну скажите тогда гении африканские кодеры где тут обработчик оконных сообщений
    Code:
    #pragma once
    
    
    namespace Keys {
    
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    
    	/// <summary>
    	/// Сводка для Form1
    	///
    	/// Внимание! При изменении имени этого класса необходимо также изменить
    	///          свойство имени файла ресурсов ("Resource File Name") для средства компиляции управляемого ресурса,
    	///          связанного со всеми файлами с расширением .resx, от которых зависит данный класс. В противном случае,
    	///          конструкторы не смогут правильно работать с локализованными
    	///          ресурсами, сопоставленными данной форме.
    	/// </summary>
    	public ref class Form1 : public System::Windows::Forms::Form
    	{
    	public:
    		Form1(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: добавьте код конструктора
    			//
    		}
    
    	protected:
    		/// <summary>
    		/// Освободить все используемые ресурсы.
    		/// </summary>
    		~Form1()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
    
    	protected: 
    
    	private:
    		/// <summary>
    		/// Требуется переменная конструктора.
    		/// </summary>
    		System::ComponentModel::Container ^components;
    
    #pragma region Windows Form Designer generated code
    		/// <summary>
    		/// Обязательный метод для поддержки конструктора - не изменяйте
    		/// содержимое данного метода при помощи редактора кода.
    		/// </summary>
    		void InitializeComponent(void)
    		{
    			this->SuspendLayout();
    			// 
    			// Form1
    			// 
    			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
    			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
    			this->ClientSize = System::Drawing::Size(292, 266);
    			this->Name = L"Form1";
    			this->Text = L"Form1";
    			this->ResumeLayout(false);
    
    		}
    #pragma endregion
    	};
    }
    
    Где HWND,WPARAM и т.д. Где?
     
    #12 _nic, 5 Oct 2009
    Last edited: 5 Oct 2009
  13. serfertty

    serfertty Guest

    Reputations:
    0
    111111
     
    #13 serfertty, 5 Oct 2009
    Last edited by a moderator: 28 Mar 2020
  14. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    Ты для начала разберись что ты хочешь юзать, managed c++ + .net или c++ + mfc wtl, etc
     
    1 person likes this.
  15. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    лол, это по твоему C++ ?
     
  16. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Я дотнет часть как бы неинсталил.А других гуевых проектов там нету.
     
  17. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    есть там другие гуевые проекты. New Project -> C++ -> Win32 -> Win32 (не Console)
    еще раз повторю - бери книги и читай. тыкание по менюшкам не даст никакого результата. Понимать надо, что делаешь. Это не делфи с васиком. Если хочется обойтись менюшками и программированием с помощью мышки - гоу к делфи. Там минимальный порог вхождения, думать особо не требуется, как и читать.
     
  18. _antony

    _antony Elder - Старейшина

    Joined:
    16 Jul 2008
    Messages:
    80
    Likes Received:
    43
    Reputations:
    0
    Открываем студию( у меня 6 ).
    1 New project -> Win32 Application.
    2. File - > New -> Resource Script , правый клик Insert -> Dialog
    3.Перетащили кнопку.
    4.File -> New -> C++ Source File .

    Code:
    #include<windows.h>
    #include"resource.h"
    
    int WINAPI DialogProc( HWND hWnd , UINT msg , WPARAM wp , LPARAM lp )
    {
    
    	if( msg == WM_COMMAND )
    	{
    
    		if( wp == IDC_BUTTON1 )
    		{
    
    			MessageBox( hWnd , "Pressed" , "Button:" , NULL );
    		}
    	}
    
    	if( msg == WM_CLOSE )
    	{
    
    		EndDialog( hWnd , 0 );
    	}
    
    	return 0;
    }
    
    
    int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
    {
    
    	DialogBoxParam( hInstance , MAKEINTRESOURCE(IDD_DIALOG1) , 0 , DialogProc , 0 );
    	return 0;
    }
    
    
    resource.h сгенирила сама студия на основе элементов которые ты положил на форму в редакторе ресурсов.

    Code:
    
    //{{NO_DEPENDENCIES}}
    // Microsoft Developer Studio generated include file.
    // Used by rs.rc
    //
    #define IDD_DIALOG1                     101
    #define IDC_BUTTON1                     1000
    
    // Next default values for new objects
    // 
    #ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS
    #define _APS_NEXT_RESOURCE_VALUE        102
    #define _APS_NEXT_COMMAND_VALUE         40001
    #define _APS_NEXT_CONTROL_VALUE         1001
    #define _APS_NEXT_SYMED_VALUE           101
    #endif
    #endif
     
    
    [​IMG]
     
    #18 _antony, 6 Oct 2009
    Last edited: 6 Oct 2009
    2 people like this.
  19. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Вот для этого я испрашивал литературу
    ЗЫ:у меня нет Resource Script
     
    #19 _nic, 6 Oct 2009
    Last edited: 6 Oct 2009
  20. _antony

    _antony Elder - Старейшина

    Joined:
    16 Jul 2008
    Messages:
    80
    Likes Received:
    43
    Reputations:
    0
    Ну я же сказал вам , у меня шестая студия , ну думаю в других тоже что-то похожее должно быть( никогда не ставил ничего выше 6 версии)