Unterscheidung Funktion OnVScroll



  • Hi,

    wenn ich ne Funktionsblock habe

    void CVC_TSTDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
    {
    	std:: string a;
    	// TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen und/oder Standard aufrufen
    switch (nPos)
    {
    case 1:
    	a = "5us";
    	break;
    case 2:
    	a = "10us";
    	break;
    case 3:
    	a = "20us";
    	break;
    case 4:
    	a = "50us";
    	break;
    case 5:
    	a = "100us";
    	break;
    case 6:
    	a = "200us";
    	break;
    case 7:
    	a = "500us";
    	break;
    case 8:
    	a = "1ms";
    	break;
    case 9:
    	a = "1,25ms";
    	break;
    }
    	m_EditTime.Format("%s",a.c_str());
    	UpdateData(FALSE);
    	Osz_SetDataCaptureDeviceSamplingRate(nPos);
    	CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
    }
    

    wie kann ich Unterscheiden welcher meiner Schieberegler (Vertikal) den Block ausgelöst hat und ich dann unterscheiden welche Aktion durchgeführt werden soll? In Block steht momentan nur für einen Regler eine Aktion drin. Will aber mehrere Unterschiedliche Aktionen für jeden Regler noch drin haben.
    Danke für eure Mühe!



  • Ich glaube, du bist hier im falschen Unterforum, ist das MFC-Code?

    Und das Scrollbar-Objekt wird dir doch mit dem letzten Parameter 'pScrollBar' übergeben...



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC (Visual C++) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Das kannst du doch über die ID des Controls abfragen:

    void CVC_TSTDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
    {
    	std:: string a;
    	// TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen und/oder Standard aufrufen
    if (pScrollBar->GetDlgCtrlID()==IDC_SLIDER_1)
    	{
    		//mach was
    	}
    
    if (pScrollBar->GetDlgCtrlID()==IDC_SLIDER_2)
    	{
    		//mach was
    	}
    	m_EditTime.Format("%s",a.c_str());
    	UpdateData(FALSE);
    	Osz_SetDataCaptureDeviceSamplingRate(nPos);
    	CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
    }
    

Anmelden zum Antworten