[ borovac @ 27.11.2004. 20:43 ] @
1. Da li je moguće da na message dialogu mjesto OK piše nešto drugo? 2. Kako mjenjati volume posebno za WAVE, MIDI, AUX, MICROPHONE,LINEIN...? |
[ borovac @ 27.11.2004. 20:43 ] @
[ bancika @ 27.11.2004. 21:40 ] @
1) probaj funkciju CreateMessageDialog iz dialogs unita...prekopiraj je celu u svoju formu i promeni red gde stoji
Code: Windows.DrawText( canvas.handle, PChar(LoadResString(ButtonCaptions[B])), -1, TextRect, DT_CALCRECT or DT_LEFT or DT_SINGLELINE or DrawTextBiDiModeFlagsReadingOnly); u nesto tipa Code: Windows.DrawText( canvas.handle, 'Hello Fanta', -1, TextRect, DT_CALCRECT or DT_LEFT or DT_SINGLELINE or DrawTextBiDiModeFlagsReadingOnly); i zameni jos na par mesta gde se javlja Caption za dugmice u ono sto ti treba 2) ne bih znao :) pozdravi [ burex @ 27.11.2004. 23:09 ] @
Probaj ovo:
Code: function SetMicrophoneVolume(bValue: Word): Boolean; { Private declarations } function Tform1.SetMicrophoneVolume(bValue: Word): Boolean; var {0..65535} hMix: HMIXER; mxlc: MIXERLINECONTROLS; mxcd: TMIXERCONTROLDETAILS; vol: TMIXERCONTROLDETAILS_UNSIGNED; mxc: MIXERCONTROL; mxl: TMixerLine; intRet: Integer; nMixerDevs: Integer; begin // Check if Mixer is available nMixerDevs := mixerGetNumDevs(); if (nMixerDevs < 1) then begin Exit; end; // open the mixer intRet := mixerOpen(@hMix, 0, 0, 0, 0); if intRet = MMSYSERR_NOERROR then begin mxl.dwComponentType := MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE; mxl.cbStruct := SizeOf(mxl); // get line info intRet := mixerGetLineInfo(hMix, @mxl, MIXER_GETLINEINFOF_COMPONENTTYPE); if intRet = MMSYSERR_NOERROR then begin ZeroMemory(@mxlc, SizeOf(mxlc)); mxlc.cbStruct := SizeOf(mxlc); mxlc.dwLineID := mxl.dwLineID; mxlc.dwControlType := MIXERCONTROL_CONTROLTYPE_VOLUME; mxlc.cControls := 1; mxlc.cbmxctrl := SizeOf(mxc); mxlc.pamxctrl := @mxc; intRet := mixerGetLineControls(hMix, @mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE); if intRet = MMSYSERR_NOERROR then begin { // Microphone Name Label1.Caption := mxlc.pamxctrl.szName; // Min/Max Volume Label2.Caption := IntToStr(mxc.Bounds.dwMinimum) + '->' + IntToStr(mxc.Bounds.dwMaximum); } ZeroMemory(@mxcd, SizeOf(mxcd)); mxcd.dwControlID := mxc.dwControlID; mxcd.cbStruct := SizeOf(mxcd); mxcd.cMultipleItems := 0; mxcd.cbDetails := SizeOf(Vol); mxcd.paDetails := @vol; mxcd.cChannels := 1; vol.dwValue := mxlc.pamxctrl.Bounds.lMinimum; vol.dwValue := mxlc.pamxctrl.Bounds.lMaximum; vol.dwValue := bValue; intRet := mixerSetControlDetails(hMix, @mxcd, MIXER_SETCONTROLDETAILSF_VALUE); if intRet <> MMSYSERR_NOERROR then MessageBeep(16); end else MessageBeep(16); end; intRet := mixerClose(hMix); end; end; [ borovac @ 28.11.2004. 01:26 ] @
Hvala za ovo.
Da li znate možda neke komponente za ova dva problema? Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|