Hallo Theo!
//Geht natürlich trotzdem -> Hier für Acad2013 x64
//Gruß Claudio
//AdsName braucht die Referenz zu AcDbMgd.dll
internal static class HighlightAttribut
{
internal static void Highlight(ObjectId attributId)
{
var ename = new AdsName();
UnsafeNativeMethods.acdbGetAdsName(ref ename, attributId);
UnsafeNativeMethods.acedRedraw(ref ename, 3);
}
internal static void Unhighlight(ObjectId attributId)
{
var ename = new AdsName();
UnsafeNativeMethods.acdbGetAdsName(ref ename, attributId);
UnsafeNativeMethods.acedRedraw(ref ename, 4);
}
}
[SuppressUnmanagedCodeSecurity]
internal static class UnsafeNativeMethods
{
//AdsName braucht die Referenz zu AcDbMgd.dll
[DllImport("accore.dll", CallingConvention = CallingConvention.Cdecl)]
internal static extern void acedRedraw(ref AdsName name, int mode);
//AdsName braucht die Referenz zu AcDbMgd.dll
[DllImport("acdb19.dll", CallingConvention = CallingConvention.Cdecl,
EntryPoint = "?acdbGetAdsName@@YA?AW4ErrorStatus@Acad@@AEAY01_JVAcDbObjectId@@@Z")]
internal static extern void acdbGetAdsName(ref AdsName name, ObjectId objId);
}
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP