Loginfenster an Top richten

10/06/2013 18:31 /-/µR€#1
Wie kann ich das normale Loginfenster so positioneren, dass es am oberen Rand des Bildschirms "hängt"? o:
10/06/2013 20:32 SandMann016#2
Position anpassen in der resdata.inc
10/06/2013 21:32 /-/µR€#3
Quote:
Originally Posted by SandMann016 View Post
Position anpassen in der resdata.inc
Welche Werte genau?
10/06/2013 23:33 .SnoX#4
Quote:
Originally Posted by SandMann016 View Post
Position anpassen in der resdata.inc
Totaler Schwachsinn, APP_LOGIN wird aus der src gelesen d.h du kannst damit max eine breite und tiefe von ca 200 erreichen, die position der APP musst du ebenfalls in der Src ändern.. :facepalm:
10/09/2013 03:51 - DK#5
Fixiert an der Top ? X und Y Werte.. Weiß grade nicht genau welche Stelle das in der Source war.. Glaube WndField.cpp ... aber wie gesagt bin mir nicht sicher ..
10/09/2013 13:31 Iban24#6
Quote:
Glaube WndField.cpp
Class CWndLogin -> WndTitle.cpp

Wenn du soviel ahnung hast wie du immer meinst wüsstest du auch das es in der WndTitle.cpp ist.
10/09/2013 19:35 /-/µR€#7
Quote:
Originally Posted by Iban24 View Post
Class CWndLogin -> WndTitle.cpp

Wenn du soviel ahnung hast wie du immer meinst wüsstest du auch das es in der WndTitle.cpp ist.
Und welcher Eintrag definiert die Koordinaten? o:
10/10/2013 20:43 - DK#8
Quote:
Originally Posted by Iban24 View Post
Class CWndLogin -> WndTitle.cpp

Wenn du soviel ahnung hast wie du immer meinst wüsstest du auch das es in der WndTitle.cpp ist.
Ahnung von Source, weil ich auch Flyff Dev bin ? Nein bin ich nicht also ^^ Ich wollte nur helfen ..

Quote:
Originally Posted by /-/µR€ View Post
Und welcher Eintrag definiert die Koordinaten? o:
Schau doch nach wo das Fenster definiert wurde..
10/11/2013 12:19 JustDread#9
Quote:
Originally Posted by Iban24 View Post
Sieht man das du ahnung vom Source hast wenn du falsche Sachen von dir gibst die mit dem Source zu tun haben.
Wenn du richtig gelesen würdest,dann würdest du sehen, dass er sagte, dass er es nicht 100%ig weiß, weil er kein Source-Dev ist. Aufmerksamen Usern hätte das schon im ersten Post auffallen können, wo er sagte, dass er sich nicht sicher sei.
10/11/2013 12:57 Iban24#10
Würdest du seine vorherigen Beiträge sehen würdest du wissen das er immer meint er kennt sich im Source aus.
10/11/2013 16:54 .SnoX#11
Wie schlau die Community doch wieder ist, ich lese hier nur flame flame flame nichts anderes.
Wenn ihr keinen brauchbaren Informationen zum Thema habt lasst es einfach bleiben :facepalm:


WndTitle.cpp
suche:
Quote:
#ifdef __THROUGHPORTAL0810
if( g_Neuz.m_bThroughPortal )
{
CRect HanrectWindow = GetWindowRect( TRUE );
SetWndRect( CRect( HanrectWindow.left, HanrectWindow.top, HanrectWindow.right - 120, HanrectWindow.bottom - 115 ) );
CRect rectLayout = m_pWndRoot->GetLayoutRect();
Move( (int)( rectLayout.Width() / 2 - m_rectWindow.Width() / 2 ), (int)( rectLayout.Height() * 0.65 ) );
}
#endif // __THROUGHPORTAL0810
da drüber fügst du einfach das ein:
Quote:
Move( X WERT, Y WERT);
Hatte kb genau zu suchen wird aber so gehen.
10/11/2013 17:30 Iban24#12
Quote:
Originally Posted by .SnoX View Post
Wie schlau die Community doch wieder ist, ich lese hier nur flame flame flame nichts anderes.
Wenn ihr keinen brauchbaren Informationen zum Thema habt lasst es einfach bleiben :facepalm:


WndTitle.cpp
suche:


da drüber fügst du einfach das ein:


Hatte kb genau zu suchen wird aber so gehen.
Quote:
Class CWndLogin -> WndTitle.cpp
Denkst du ich mache ihm ein Schritt für Schritt Anleitung wie man das Fenster verschiebt? Den Ansatz habe ich ihm gegeben, und nicht wie Armageddon einen falschen Ansatz.
10/11/2013 17:55 Jopsi332#13
Quote:
Originally Posted by .SnoX View Post
Wie schlau die Community doch wieder ist, ich lese hier nur flame flame flame nichts anderes.
Wenn ihr keinen brauchbaren Informationen zum Thema habt lasst es einfach bleiben :facepalm:


WndTitle.cpp
suche:


da drüber fügst du einfach das ein:


Hatte kb genau zu suchen wird aber so gehen.
Wenn du schon meinst du bist der King, dann bitte richtig ...:facepalm:

Natürlich geht das so wie du es da tust, aber anscheind weißt du nicht wieso es mittig ist

Code:
void CWndLogin::OnInitialUpdate()
{
	CWndNeuz::OnInitialUpdate();
	CRect rect = GetClientRect();

#ifdef __REG
	m_wndRegist. Create( "Registration", 0, CRect( 0, 0, 100, 20 ), this, 1001 ); rect.OffsetRect( 120,0 );
#endif

	CWndEdit* pAccount = (CWndEdit*) GetDlgItem( WIDC_ACCOUNT );
	CWndEdit* pPassword = (CWndEdit*) GetDlgItem( WIDC_PASSWORD );
	CWndButton* pSaveAccount = (CWndButton*) GetDlgItem( WIDC_CHECK1 );

	if( ::GetLanguage() == LANG_FRE )
	{
		CWndStatic	* pWndStatic2	= (CWndStatic*)GetDlgItem( WIDC_STATIC2 );
		CRect rc	= pWndStatic2->GetWndRect();
		rc.right	+= 24;
		pWndStatic2->SetWndRect( rc, TRUE );

		CRect rc1	= pAccount->GetWndRect();
		CRect rc2	= pPassword->GetWndRect();
		rc1.left	+= 12;
		rc1.right	= rc2.right;
		pAccount->SetWndRect( rc1, TRUE );
		rc2.left	+= 12;
		pPassword->SetWndRect( rc2, TRUE );
	}
	
	pAccount->EnableModeChange( FALSE );
	pAccount->SetTabStop( TRUE );

	pPassword->AddWndStyle( EBS_PASSWORD );
	pPassword->SetTabStop( TRUE );
	pPassword->EnableModeChange( FALSE );

	CWndButton* pOk   = (CWndButton*)GetDlgItem( WIDC_OK );
	CWndButton* pQuit = (CWndButton*)GetDlgItem( WIDC_QUIT );

	pOk->SetDefault( TRUE );

	pAccount->SetString( g_Option.m_szAccount );
	pSaveAccount->SetCheck( g_Option.m_bSaveAccount );

	if( g_Option.m_szAccount[ 0 ] )
		pPassword->SetFocus();
	else
		pAccount->SetFocus();

	MoveParentCenter();

/*	if( ::GetLanguage() != LANG_KOR )
	{
#ifdef __FOR_PROLOGUE_UPDATE
		CWndButton* pCredit   = (CWndButton*)GetDlgItem( WIDC_CREDIT );
		pCredit->EnableWindow(FALSE);
		pCredit->SetVisible(FALSE);	
#else //__FOR_PROLOGUE_UPDATE*/
		CWndButton* pAbout   = (CWndButton*)GetDlgItem( WIDC_ABOUT );
		pAbout->EnableWindow(FALSE);
		pAbout->SetVisible(FALSE);	
		CWndButton* pCredit   = (CWndButton*)GetDlgItem( WIDC_CREDIT );
		pCredit->EnableWindow(FALSE);
		pCredit->SetVisible(FALSE);	
		CWndButton* pPrologue   = (CWndButton*)GetDlgItem( WIDC_PROLOGUE );
		pPrologue->EnableWindow(FALSE);
		pPrologue->SetVisible(FALSE);
	
	//	pOk->Move( 72, 105 );
		//pQuit->Move( 72, 135 );
/*#endif //__FOR_PROLOGUE_UPDATE
	}*/

#ifdef __THROUGHPORTAL0810
	if( g_Neuz.m_bThroughPortal )
	{
		CRect HanrectWindow = GetWindowRect( TRUE );
		SetWndRect( CRect( HanrectWindow.left, HanrectWindow.top, HanrectWindow.right - 120, HanrectWindow.bottom - 115 ) );
		CRect rectLayout = m_pWndRoot->GetLayoutRect();
		Move( (int)( rectLayout.Width() / 2 - m_rectWindow.Width() / 2 ), (int)( rectLayout.Height() * 0.65 ) );
	}
#endif	// __THROUGHPORTAL0810

	if( ::GetLanguage() == LANG_KOR )
	{
		CWndButton* pPrologue   = (CWndButton*)GetDlgItem( WIDC_PROLOGUE );
		pPrologue->SetVisible(FALSE);
	}

	switch( ::GetLanguage() )
	{
		case LANG_KOR:
		case LANG_FRE:
		case LANG_GER:
			{
				CRect rectRoot = m_pWndRoot->GetLayoutRect();
				CRect rectWindow = GetWindowRect( TRUE );
				rectWindow.top = 400 * rectRoot.Height() / 768;
				Move( rectWindow.TopLeft() );
				break;
			}
	}


#ifdef __THROUGHPORTAL0810
	if( g_Neuz.m_bThroughPortal )
#else	// __THROUGHPORTAL0810
	if( g_Neuz.m_bHanGame )
#endif	// __THROUGHPORTAL0810
	{
		CWndStatic* pStatic = (CWndStatic*)GetDlgItem( WIDC_STATIC3 );
		pStatic->SetVisible( FALSE );
		pStatic = (CWndStatic*)GetDlgItem( WIDC_STATIC2 );
		pStatic->SetVisible( FALSE );
		CWndEdit* pEdit = (CWndEdit*)GetDlgItem( WIDC_ACCOUNT );
		pEdit->SetVisible( FALSE );
		pEdit->Move( 800, 800 );
		pEdit = (CWndEdit*)GetDlgItem( WIDC_PASSWORD );
		pEdit->SetVisible( FALSE );
		pEdit->Move( 800, 800 );
		CWndButton* pButton = (CWndButton*) GetDlgItem( WIDC_CHECK1 );
		pButton->SetVisible( FALSE );
		pButton = (CWndButton*) GetDlgItem( WIDC_OK );
		CRect rectButton = pButton->GetWndRect();
		//pButton->Move( 13, 10 );
		pButton = (CWndButton*) GetDlgItem( WIDC_ABOUT );
		//pButton->Move( 13, 35 );
		pButton = (CWndButton*) GetDlgItem( WIDC_CREDIT );
		//pButton->Move( 13, 60 );
		pButton = (CWndButton*) GetDlgItem( WIDC_PROLOGUE );
		//pButton->Move( 13, 60 );
		pButton = (CWndButton*) GetDlgItem( WIDC_QUIT );
		//pButton->Move( 13, 85 );
	}

	g_Neuz.m_dwTimeOutDis = 0xffffffff;
	m_bDisconnect = FALSE;
}
Da drinne findest du

Code:
MoveParentCenter();
Das setzt dein Fenster mittig.

Also ersetz das
MoveParentCenter();
durch

Code:
Move(m_pWndRoot.left + (m_pWndRoot.Width() / 2) - (m_rectWindow.Width() / 2),0);

Das setzt es an den Top mittig.
10/11/2013 18:17 .SnoX#14
Quote:
Originally Posted by Jopsi332 View Post
Wenn du schon meinst du bist der King, dann bitte richtig ...:facepalm:

Natürlich geht das so wie du es da tust, aber anscheind weißt du nicht wieso es mittig ist

Code:
void CWndLogin::OnInitialUpdate()
{
	CWndNeuz::OnInitialUpdate();
	CRect rect = GetClientRect();

#ifdef __REG
	m_wndRegist. Create( "Registration", 0, CRect( 0, 0, 100, 20 ), this, 1001 ); rect.OffsetRect( 120,0 );
#endif

	CWndEdit* pAccount = (CWndEdit*) GetDlgItem( WIDC_ACCOUNT );
	CWndEdit* pPassword = (CWndEdit*) GetDlgItem( WIDC_PASSWORD );
	CWndButton* pSaveAccount = (CWndButton*) GetDlgItem( WIDC_CHECK1 );

	if( ::GetLanguage() == LANG_FRE )
	{
		CWndStatic	* pWndStatic2	= (CWndStatic*)GetDlgItem( WIDC_STATIC2 );
		CRect rc	= pWndStatic2->GetWndRect();
		rc.right	+= 24;
		pWndStatic2->SetWndRect( rc, TRUE );

		CRect rc1	= pAccount->GetWndRect();
		CRect rc2	= pPassword->GetWndRect();
		rc1.left	+= 12;
		rc1.right	= rc2.right;
		pAccount->SetWndRect( rc1, TRUE );
		rc2.left	+= 12;
		pPassword->SetWndRect( rc2, TRUE );
	}
	
	pAccount->EnableModeChange( FALSE );
	pAccount->SetTabStop( TRUE );

	pPassword->AddWndStyle( EBS_PASSWORD );
	pPassword->SetTabStop( TRUE );
	pPassword->EnableModeChange( FALSE );

	CWndButton* pOk   = (CWndButton*)GetDlgItem( WIDC_OK );
	CWndButton* pQuit = (CWndButton*)GetDlgItem( WIDC_QUIT );

	pOk->SetDefault( TRUE );

	pAccount->SetString( g_Option.m_szAccount );
	pSaveAccount->SetCheck( g_Option.m_bSaveAccount );

	if( g_Option.m_szAccount[ 0 ] )
		pPassword->SetFocus();
	else
		pAccount->SetFocus();

	MoveParentCenter();

/*	if( ::GetLanguage() != LANG_KOR )
	{
#ifdef __FOR_PROLOGUE_UPDATE
		CWndButton* pCredit   = (CWndButton*)GetDlgItem( WIDC_CREDIT );
		pCredit->EnableWindow(FALSE);
		pCredit->SetVisible(FALSE);	
#else //__FOR_PROLOGUE_UPDATE*/
		CWndButton* pAbout   = (CWndButton*)GetDlgItem( WIDC_ABOUT );
		pAbout->EnableWindow(FALSE);
		pAbout->SetVisible(FALSE);	
		CWndButton* pCredit   = (CWndButton*)GetDlgItem( WIDC_CREDIT );
		pCredit->EnableWindow(FALSE);
		pCredit->SetVisible(FALSE);	
		CWndButton* pPrologue   = (CWndButton*)GetDlgItem( WIDC_PROLOGUE );
		pPrologue->EnableWindow(FALSE);
		pPrologue->SetVisible(FALSE);
	
	//	pOk->Move( 72, 105 );
		//pQuit->Move( 72, 135 );
/*#endif //__FOR_PROLOGUE_UPDATE
	}*/

#ifdef __THROUGHPORTAL0810
	if( g_Neuz.m_bThroughPortal )
	{
		CRect HanrectWindow = GetWindowRect( TRUE );
		SetWndRect( CRect( HanrectWindow.left, HanrectWindow.top, HanrectWindow.right - 120, HanrectWindow.bottom - 115 ) );
		CRect rectLayout = m_pWndRoot->GetLayoutRect();
		Move( (int)( rectLayout.Width() / 2 - m_rectWindow.Width() / 2 ), (int)( rectLayout.Height() * 0.65 ) );
	}
#endif	// __THROUGHPORTAL0810

	if( ::GetLanguage() == LANG_KOR )
	{
		CWndButton* pPrologue   = (CWndButton*)GetDlgItem( WIDC_PROLOGUE );
		pPrologue->SetVisible(FALSE);
	}

	switch( ::GetLanguage() )
	{
		case LANG_KOR:
		case LANG_FRE:
		case LANG_GER:
			{
				CRect rectRoot = m_pWndRoot->GetLayoutRect();
				CRect rectWindow = GetWindowRect( TRUE );
				rectWindow.top = 400 * rectRoot.Height() / 768;
				Move( rectWindow.TopLeft() );
				break;
			}
	}


#ifdef __THROUGHPORTAL0810
	if( g_Neuz.m_bThroughPortal )
#else	// __THROUGHPORTAL0810
	if( g_Neuz.m_bHanGame )
#endif	// __THROUGHPORTAL0810
	{
		CWndStatic* pStatic = (CWndStatic*)GetDlgItem( WIDC_STATIC3 );
		pStatic->SetVisible( FALSE );
		pStatic = (CWndStatic*)GetDlgItem( WIDC_STATIC2 );
		pStatic->SetVisible( FALSE );
		CWndEdit* pEdit = (CWndEdit*)GetDlgItem( WIDC_ACCOUNT );
		pEdit->SetVisible( FALSE );
		pEdit->Move( 800, 800 );
		pEdit = (CWndEdit*)GetDlgItem( WIDC_PASSWORD );
		pEdit->SetVisible( FALSE );
		pEdit->Move( 800, 800 );
		CWndButton* pButton = (CWndButton*) GetDlgItem( WIDC_CHECK1 );
		pButton->SetVisible( FALSE );
		pButton = (CWndButton*) GetDlgItem( WIDC_OK );
		CRect rectButton = pButton->GetWndRect();
		//pButton->Move( 13, 10 );
		pButton = (CWndButton*) GetDlgItem( WIDC_ABOUT );
		//pButton->Move( 13, 35 );
		pButton = (CWndButton*) GetDlgItem( WIDC_CREDIT );
		//pButton->Move( 13, 60 );
		pButton = (CWndButton*) GetDlgItem( WIDC_PROLOGUE );
		//pButton->Move( 13, 60 );
		pButton = (CWndButton*) GetDlgItem( WIDC_QUIT );
		//pButton->Move( 13, 85 );
	}

	g_Neuz.m_dwTimeOutDis = 0xffffffff;
	m_bDisconnect = FALSE;
}
Da drinne findest du

Code:
MoveParentCenter();
Das setzt dein Fenster mittig.

Also ersetz das
MoveParentCenter();
durch

Code:
Move(m_pWndRoot.left + (m_pWndRoot.Width() / 2) - (m_rectWindow.Width() / 2),0);

Das setzt es an den Top mittig.
Wow MoveParentCenter(); setzt etwas mittig das habe ich nicht gewusst. :awesome:
Vielleicht kannst du mir auch zeigen wo ich definiert habe das ich der King bin? Glaub da ist mir wohl was entfallen. Warum soll ich hier auch den kompletten Code durchlesen wenn es auch so geht. :facepalm:
10/11/2013 19:00 Jopsi332#15
Quote:
Originally Posted by .SnoX View Post
Wow MoveParentCenter(); setzt etwas mittig das habe ich nicht gewusst. :awesome:
Vielleicht kannst du mir auch zeigen wo ich definiert habe das ich der King bin? Glaub da ist mir wohl was entfallen. Warum soll ich hier auch den kompletten Code durchlesen wenn es auch so geht. :facepalm:
Das kam stark so rüber.
und anscheind hast du es dir ja durchgelesen sonst wüsstest du ja nich wo move hin muss.
Und eine funktion zu überfliegen hat 20sekunden gedauert.